- - PR -
Windows2003Server上でMouseWheelが発生しない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-07 18:42
開発機
XPProSP2 VB.NET2005 v2.0.50727 テスト機 Windows2003ServerR2 SP1 .NET2.0 v2.0.50727 Windows2003上でMouseWheelイベントが発生しません。自作アプリのフォームイベントです。開発機で実行した場合はイベント発生します。 テスト機でもIEでYahoo等を開いてホイールを動かせば問題なくスクロールしてくれます。デバイスマネージャではPS/2 互換Mouseとなっており、ホイールの設定は「ホイールをあると仮定する」「ホイールを検出する」等試しましたが駄目でした。 他のドライバ(MS PS2マウス、ロジテックのPS2マウスのドライバ)も試しましたが駄目でした。 何かここを確認しろとか設定しろとかありましたら教えてください。 他のXPの端末では問題ありませんので、w2003R2での問題なのかな?という気がします。 ---------------- 以下コード ------------------------------ Private Sub frmMain_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel Debug.WriteLine(e.Delta.ToString) End Sub | ||||
|
投稿日時: 2007-03-07 19:32
ホイールの有無を検出する関数があるので、それで検査してみて下さい
_________________ | ||||
|
投稿日時: 2007-03-08 09:28
アドバイスありがとうございます。
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) Const WM_MOUSEWHEEL As Integer = &H20A If m.Msg = WM_MOUSEWHEEL Then MessageBox.Show("kita-") End If MyBase.WndProc(m) End Sub こんな感じでメッセージ拾おうとしたんですが、w2003R2では検出できませんでした。 IEやExcelではホイール使えるのになぁ。 悔しい | ||||
|
投稿日時: 2007-03-10 22:39
My.Computer.Mouse.WheelExists プロパティ は、何を返しますか?
_________________ | ||||
|
投稿日時: 2007-03-12 00:17
リストビュー上で項目の編集をおこなう機能を実装したのですが、 リストビューの上にフォーカスのあるテキストボックスがある状態で ホイールによりリストビューだけがスクロールしてしまい テキストボックスを同期スクロールさせるためにスクロールメッセージを処理しました。 そのときのホイール操作での結果です。 1.ELECOMマウス→ELECOMホイールユーティリティー常駐 WM_HSCROLLとWM_VSCROLLが発生 2.Windows標準ドライバマウス WM_MOUSEWHEELが発生 3.1にて、ELECOMホイールユーティリティーを終了 WM_MOUSEWHEELが発生 このことからELECOMホイールユーティリティーは ターゲットコントロールのスクロールをエミュレートしていることがわかりました。 参考になれば。 |
1