- - PR -
コントロール上のマウスイベントをフォームでハンドルする方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-06 14:56
こんにちはモンモンです。
Windowsフォームに各種コントロールを配置して、Windowsアプリケーションを作成しています。 そこでWindowsフォーム上でフォームに配置されたコントロールを含む、 すべてのマウスイベントを一元的にハンドリングしたいと考えました。 キー入力はフォームのKeyPreview属性をtrueに設定することで、 同様のことが可能でしたが、マウスの場合は良い方法はないでしょうか? ハンドリングしたいイベントは次のようなものです。 MouseDown,MouseEnter 先輩方教えて下さい。お願いいたします。 [ メッセージ編集済み 編集者: モンモン 編集日時 2005-12-06 14:58 ] |
|
投稿日時: 2005-12-06 15:42
ForEach でぐるぐる回しながら
イベントハンドラに関連付けを行うのはどうでしょう For Each clt As Control In Me.Controls AddHandler clt.MouseDown, AddressOf MouseDownHandler Next |
|
投稿日時: 2005-12-06 17:20
Application.AddMessageFilterを使えばよろしいかと。
その際PreFilterMessageで自分が持っているかどうかはthis.Contains(Control.FromHandle(m.HWnd))とかすれば分かります。 この質問、前に見たなと思ったので検索したら、 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25032&forum=7 ありますね。 |
|
投稿日時: 2005-12-07 00:16
かるあさん、yaさん
早速のご回答ありがとうございます。 そのものズバリの質問があったのですね。 私の調査不足でした。すみません。 大変参考になりましたので、 うまく実装できそうです。 ありがとうございました。 |
1