- 題名: マウスWheelのイベントについて
- 日時: 2005/06/16 11:58:54
- ID: 11303
- この記事の返信元:
- (なし)
- この記事への返信:
- [11318] Re[1]: マウスWheelのイベントについて2005/06/17 9:23:56
- ツリーを表示
じゃんぬさん ご教授ありがとうございます。 > WndProc をオーバーライドして WM_MOUSEWHEEL を捕捉、 > ActiveControl が、CmbA, CmbB であれば排除。 > といった具合でしょうか。 早速下記のようにWndProcのオーバーライド処理を入れてみたのですが 上手く動作してくれません。 protected override void WndProc(ref Message m) { const int WM_MOUSEWHEEL = 0x20A; if((this.ActiveControl == CmbA) || (this.ActiveControl == CmbB)) { if(m.Msg == WM_MOUSEWHEEL) { m.Result = IntPtr.Zero; } else { base.WndProc(ref m); } } else { base.WndProc(ref m); } } 何処が悪いのかご指摘頂けると助かります。 よろしくお願いします。
分類:[.NET]
いつも参考にさせていただいています。
現在C#で画面を作成しているのですが
親画面をDlgMainとして
そこから呼ばれるDlgWindowAに
コンボボックスCmbA, CmbB, CmbC
その他テキストボックス等を複数配置
上記のような条件でコンボボックスのCmbAとCmbBにだけ
マウスWheelのイベントを無視させたい
(Wheelで選択アイテムを変更させたくない)
のですが、方法はあるでしょうか?
どうかよろしくお願いします。