C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

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

Re[2]: マウスホイールのメッセージを横取りするには?


(過去ログ 24 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■10771 / inTopicNo.1)  マウスホイールのメッセージを横取りするには?
  
□投稿者/ non (5回)-(2007/11/25(Sun) 21:26:42)

分類:[.NET 全般] 

MDIをタブ形式で表示するよなアプリを作成しました。
(タブ部分はパネルにボタンをのせています)

そこで、タブ上でホイールを回転させてページを切り替えるように改造しようと思うのですが、
フォーカスがあるウィンドウにホイールメッセージが行ってしまいます。

マウスポインターがタブ(パネル)上に存在する場合、ホイールメッセージを横取りするにはどのようにすれば宜しいでしょうか?

よろしくお願いします
引用返信 編集キー/
■10775 / inTopicNo.2)  Re[1]: マウスホイールのメッセージを横取りするには?
□投稿者/ Tom Yama (31回)-(2007/11/25(Sun) 22:43:49)
No10771 (non さん) に返信
> そこで、タブ上でホイールを回転させてページを切り替えるように改造しようと思うのですが、
> フォーカスがあるウィンドウにホイールメッセージが行ってしまいます。
>
> マウスポインターがタブ(パネル)上に存在する場合、ホイールメッセージを横取りするにはどのようにすれば宜しいでしょうか?
以前、同じような問題に遭遇しましたが、そのときは、
「フォーカスがあるウィンドウ」に送られてきたホイールメッセージを、
「タブ(パネル)」に放り投げてやることで、解決しました。

汎用的な方法が必要というのであれば、フックを使えばできるかもしれませんが、そちらは、よく知りません。
引用返信 編集キー/
■10777 / inTopicNo.3)  Re[2]: マウスホイールのメッセージを横取りするには?
□投稿者/ non (6回)-(2007/11/25(Sun) 23:48:52)
Tom Yamaさん、ご返信ありがとうございます。

現在の仕組みは、デザイナーでパネルを載せるだけで全ての事を行うように設計してあります。
なので、ローカルフックで対応しようと思います。

.netでのやり方がわからなかったので検索したら、下記のページを発見したので記載しておきます。
http://support.microsoft.com/kb/318804/ja
(結局Win32を呼ぶだけのようですが :-)

# グローバル フックは .NET Framework ではサポートされていないという驚愕の事実もわかりました :-p

おかげ様で問題は解決できそうです、Tom Yamaさん、ありがとうございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -