2009-11-11 [長年日記]

[Q3] WM_MOUSEWHEELでWHEEL_DELTAよりも小さい値がきたときの対処

Windows 7にしたらQMAIL3のリストビューでマウスホイールが効かないことがあるので調べてみました。

Windows Vista以降のマウスドライバだとWM_MOUSEWHEELにWHEEL_DELTAよりも小さい値が渡ってくることがあるようです。QMAILのリストビューでは、渡された値をWHEEL_DELTAで割ってから処理していたので、勢い良くホイールを回さないとスクロールしないという状態になっていました。

本来はdeltaを積算してそれが一定の値を超えたらスクロールするようにしなくてはいけないところですが、とりあえずWHEEL_DELTAの1/5(つまり24)で一行スクロールするように修正しました。

WM_MOUSEWHEEL Possible Issues in Vista - Solution

本日のツッコミ(全3件) [ツッコミを入れる]
# salt (2009-12-01 00:53)

はじめまして。<br>QMAIL3を愛用していますが、記事に関してレポートを。<br><br>Windows 7 Professional, Microsoft Wireless Laser Mouse 8000とIntelliPoint 7.0環境ではQMAIL3上でホイールが効かないことを確認しています(最新stable, 20081108のNightlyとも)。<br><br>同じMicrosoft製マウスでも、IntelliPointを使わず標準ドライバで動くマウスでは、Windows 7でもホイールが正しく効くようなので(Bluetooth Notebook Mouse 5000で確認)、IntelliPointの設計も絡んでいるのかもしれません。<br><br>ただ、まだ記事の修正のNightly Buildがダウンロードに出てきておらず、状況が変わっていないので、余裕が出来次第uploadしていただきたいなぁ、と思います。<br><br>よろしくお願いします。

# snak (2009-12-01 16:21)

レポートありがとうございます。遅くなりましたが、Nightly Buildを更新しました。

# salt (2009-12-04 15:58)

やっと確認報告できる余裕が出来ました。<br>x64-3.0.8-4393-20091202、Laser Mouse 8000(+IntelliPoint7.0)でうまくホイールと連動しました。<br>Notebook 5000でも問題なくスクロールしています。<br><br>なお、Windows 7(x64)環境でGMAILをIMAPで使用した際、証明書のストアからの自動インポートに失敗したらしくSSL接続に失敗しました。<br>ドキュメント通り証明書を手動で配置すれば正常動作することまで判明しているので、余裕があればもう少し調査してみます。<br><br>ありがとうございました。


トップ «前の日記(2009-11-08) 最新 次の日記(2009-11-14)»