じゃんぬのどっとてきすと

雑記とネタと時々プログラミング

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  981  : 記事  4  : コメント  15491  : トラックバック  277

ニュース

My Website

初心者向けのサイトです。

C# と VB.NET の入門サイト

最近のできごと

少し前に女のコが生まれました。家事と育児と仕事にと奮起しています。めちゃくちゃかわいいです。あと Blog の更新は全然してませんが、Twitter とかでアホなこと呟いています。見つけることができたら、ぜひフォローしてあげてください。けっこう喜びます。

Sponsored Link1

Sponsored Link2

Archive

書庫

TextBox 以外のコントロールでは、WndProc で貼り付けを示す WM_PASTE、
またはコピーを示す WM_COPY などは取得できなかったりします。

たとえば、ComboBox がそのうちのひとつです。
実際には、ComboBox 内の EditBox で起きています。

コンボ ボックスの右クリックの貼り付けイベント取得について
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28307&forum=7

スレッド タイトルは「右クリックの貼り付け」とありますが、
実際には、コンテキスト メニューだけでなく、[Ctrl] + [C] や [Ctrl] + [Insert] にも対応します。
コンテキスト メニューだけ防ぐのは、おかしいですから言わずもがなですけどね。(;^ω^)

ただ、ユーザーのしたいことを奪うような利用は控えた方が良いでしょう。
特にですが「貼り付けを完全に禁ずる」というものには、宜しくないでしょう。(;_ _)

やるのであれば、WM_PASTE を捕捉して「数字のみ貼り付けを許可する」などですね。
これは、クリップ ボードからデータを取得して、許可する文字だけを自前で貼り付けることで簡単に可能です。

TextBox などの場合は WndProc で直接あれこれできますが、
どちらにしても、どの文字を許可するのかなどはプロパティで実装すべきでしょう。

私のサイト内の ExTextBox はプロパティで実装していますが、結構イケてないです。
なにぶん、.NET をやり始めた頃に工数短縮のために作ったものですからね... < ただの言い訳w

投稿日時 : 2006年2月11日 9:45

コメント

No comments posted yet.

Post Feedback

タイトル
名前
Url:
コメント: