ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

クリックとダブルクリックの判定 

更新 : 2011/07/09

 


解説:
マウスのイベント処理をしていると、クリックとダブルクリックを判定したい場面があります。
調べ方がいくつかありますが、今回は OnMouseDown イベントハンドラを使って、調べてみます。

使用例:
以下の例では、アプリケーション起動後、Button1 をクリック、あるいはダブルクリックするとメッセージが表示されます。

準備としては特にコンポーネントの配置はありません。

Form の OnMouseDown イベントハンドラで TShiftState に何が割り当てられたのか調べることで判定しています。
"ssDouble" であれば "Double Click" を、違えば "Single Click" を表示します。

余裕のある方は、異なる方法でも調べてみてください。

//-------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
    TShiftState Shift, int X, int Y)
{
    if (Shift.Contains(ssDouble))
        Label1->Caption = "Double Click";
    else
        Label1->Caption = "Single Click";
}
//-------------------------------------------------------------------
 



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.