tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルMousePreviewは無いですか
記事No6158
投稿日: 2007/08/27(Mon) 13:09
投稿者ダンボ
多数のコントロールが表示されているフォーム上でマウスホィールを回したときに
フォームのMouseWheelイベントだけを発生して欲しいんですが、そういうことは
できませんか?ちょうどキーイベントに対するKeyPreviewと同様な仕様です。

・すべての子コントロールのMouseWheel処理に手を入れる
・フォームのWndProcメソッドをオーバーライドする

のどちらかが解決方法かなと考えるのですが、他にうまい手はないでしょうか?

[ツリー表示へ]
タイトル[解決] MousePreviewは無いですか
記事No6178
投稿日: 2007/08/28(Tue) 11:58
投稿者ダンボ
結局これだけのコードで実現できてしまいました。
(疑問)何でmはHWnd でMeはHandle なんだろう?統一を!

Protected Overrides Sub WndProc(ByRef m As Message)
    Const WM_MOUSEWHELL As Integer = &H20A
    If m.Msg = WM_MOUSEWHELL Then m.HWnd = Me.Handle
    MyBase.WndProc(m)
End Sub

[ツリー表示へ]