マウスのホイールの回転検出の方法 – プログラミング – Home

マウスのホイールの回転検出の方法
 
通知
すべてクリア

[解決済] マウスのホイールの回転検出の方法


よこよこ
 よこよこ
(@よこよこ)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

こんにちは。いつも参考にさせて頂いております。よこよこと申します。

現在WinXP Pro. + VS.net Pro.という環境でVC#.netでアプリを
作成しています。

パラメータの可変をマウスのホイールを使ってできないかなと思い、
プロジェクトの新規作成で生成されたスケルトンで、
Form1にMouseMoveイベントのみ追加して、下記のようなコードで
イベントが発生するかを確認してみました。

=====

private void Form1_MouseMove(object sender,
System.Windows.Forms.MouseEventArgs e)
{
System.Diagnostics.Debug.WriteLine(e.Delta);
}

=====

しかし、上記のコードではマウスのボタン操作、マウスの移動に関しては
問題なくイベントが発生するのですが、肝心のホイールの回転でイベントが
発生してくれないみたいなのです。

VC++の時は、確かDeltaにホイールの移動量が入ってきたと思ったんですが、
VC#.netでは上記のような方法で検出をすることは不可能なのでしょうか?
それとも、他にホイールの回転を検出する方法が用意されているのでしょうか?

ご存知の方いらっしゃいましたら情報頂けると助かります。

よろしくお願いいたします。


引用未解決
トピックタグ
よねKEN
 よねKEN
(@よねKEN)
ゲスト
結合: 22年前
投稿: 19
 

MouseMoveイベントはマウスが移動したときのイベントです。
マウスのホイール操作はMouseWheelイベントでわかると思います。


返信引用
よこよこ
 よこよこ
(@よこよこ)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

こんばんは。よこよこです。

よねKENさん、レスありがとうございます。

> MouseMoveイベントはマウスが移動したときのイベントです。
> マウスのホイール操作はMouseWheelイベントでわかると思います。

下記のようなコードでイベントハンドラを追加してやることで
ホイールの回転時にイベント発生させることができました。

MouseEventArgsにDeltaプロパティがあったので、ホイール回転で
MouseMoveイベントが発生するもんだと思い込んでいました。

ありがとうございました!

=====

private void MouseWheelEvent(object sender, MouseEventArgs e)
{
System.Diagnostics.Debug.WriteLine(e.Delta);
}

private void Form1_Load(object sender, System.EventArgs e)
{
this.MouseWheel += new MouseEventHandler(MouseWheelEvent);
}

=====


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました