Written in Japanese(UTF-8)
2021.4.15
INASOFT


/トップ/マウスふるふる ダウンロード/WebHelp/ヘルプトップ


動作原理で登場した(マウスふるふるが利用している、ヘルプ中で登場する)主なWindows API解説

mouse_event

マウスの移動や、マウスボタンのクリックなどのマウスイベントを発生させる。

void mouse_event(DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData, ULONG_PTR dwExtraInfo);


パラメータ

戻り値

なし

解説

dwFlagsMOUSEEVENTF_MOVEを指定した場合は、dxとdyには相対的な移動量を整数値で指定する。これらは、直前のマウスイベントが発生した後の相対的な移動量を意味する。正の値は右(または下)への移動を示し、負の値は左(または上)への移動を示す。

dwFlagsMOUSEEVENTF_ABSOLUTEを指定した場合は、dxとdyにはマウス座標の絶対座標(0〜65535)を整数値で指定する。イベントプロシージャは、これらの座標を表示サーフェスにマッピングする。座標(0,0)は表示サーフェスの左上隅にマップされ、(65535,65535)は右下隅にマップされる。

相対的なマウスの移動量は、マウスの速度と加速レベル(=マウスを連続的に比較的大きく移動させた場合、カーソルを通常より大きく移動すること)の設定に従う。ユーザーは、OS標準の「設定」アプリまたは「コントロール パネル」のマウス設定を使用してこれらの値を設定できる。アプリケーションは、SystemParametersInfo() APIを使用してこれらの値を取得・設定できる。

システムは、加速(アクセラレーション)を適用するときに、指定された相対的なマウスの動きに2つのテストを適用する。 x軸またはy軸に沿って指定された距離が最初のマウスのしきい値を超え、かつ、マウスの加速レベルが0でない場合、距離を2倍にする。x軸またはy軸上での指定された距離が、2番目のマウスしきい値よりも大きく、マウスの加速レベルが2の場合、最初のしきい値テストを適用した結果の距離を2倍にする。従って、マウスの動きは最大で4倍まで加速されることがありえる。

加速が適用されると、システムは結果の値を目的のマウス速度でスケーリングする。マウスの速度は1(最も遅い)から20(最も速い)の範囲で指定でき、マウスの移動距離に基づいてポインタが移動する量を算出する。デフォルト値は10である。これは、マウスの動きに何の追加加速も行わないことを意味する。

mouse_event() APIは、アプリケーションでマウスイベントを疑似的に発生させたいときに使用する。
また、マウスの位置やボタンの状態よりも多くの情報をマウス(ハードウェア)から取得したいときも使用される。例えば、タブレットメーカーがペンベースの情報を自社のアプリケーションに渡したい状況を考える。mouse_event() APIを使えば、タブレットハードウェアと直接通信し、追加情報を取得してキューに保存する専用DLLを作成できる。次に、DLLは、dwExtraInfoパラメーターで、キューに入れられた追加情報へのポインタまたはインデックスと共に、標準ボタンとx,y座標情報を使用してmouse_event() APIを呼び出す。アプリケーションが追加情報を必要とする場合、dwExtraInfoに格納されているポインタまたはインデックスを使用してDLLを呼び出し、DLLは追加情報を返すことで、ハードウェアからの追加情報をアプリケーションが得ることができる。

サンプル

動作原理について(基本編)
動作原理について(応用編)


 マウスふるふるが利用しているWindows API解説へ
 目次へ
※このページは、ソフトウェアに付属のヘルプファイルをWeb用に再構築したものです。大部分に自動変換を施しているため、一部は正しく変換しきれずに表示の乱れている箇所があるかもしれませんが、ご容赦下さい。また、本ドキュメントはアーカイブドキュメントであり、内容は、右上の作成日付の時点のものとなっております。一部、内容が古くなっている箇所があるかと思いますが、あらかじめご了承下さい。
※このページへは、自由にリンクしていただいてかまいません。

■このページに関するご意見をお待ちしております → フィードバックページ

/トップ/マウスふるふる ダウンロード/WebHelp/ヘルプトップ