|
|
||||
Tips > |
|||||
ホイールの存在確認(GetSystemMetrics) |
更新 : 2011/07/09 |
||||
|
|
||
解説: マウスのホイールに関わるアプリケーションを作成する場合、ホイールマウスがつながっているかを判定する必要がでてきます。 Win32API にはそれを調べられる GetSystemMetrics 関数があります。 GetSystemMetrics 関数の引数に SM_MOUSEWHEELPRESENT を指定して、戻り値が 0 以外ならホイールマウスがつながっているのが分かります。 ちょっと寄り道: int GetSystemMetrics(int nIndex); nIndex:取得したい情報の定数を指定 戻り値は、定数で要求した情報を返します。 使用例: 以下の例では、アプリケーション起動後、Button1 をクリックすると、ホイールマウスがつながっているかどうかのメッセージが表示されます。 準備としては Button を適当に配置するだけです。 OnClick イベントハンドラで GetSystemMetrics 関数に SM_MOUSEWHEELPRESENT を渡して、 ホイールを持つマウスが接続されているかどうかを調べています。 ホイールマウスであれば "exists" を、ホイールマウスでなければ "no exists" を表示します。 この関数は、マウスが接続されているかどうかも調べることができます。 タイトルバーやスクロールバーのサイズ等、システム情報を得ることもできます。 時間のある方は、試してみてください。 //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { // SM_MOUSEWHEELPRESENT は Windows98, WindowsNT4.0以降 で使用可。 if (GetSystemMetrics(SM_MOUSEWHEELPRESENT)) ShowMessage("exists"); else ShowMessage("no exists"); } //------------------------------------------------------------------- |