|
||
解説: マウスのイベント処理をしていると、クリックとダブルクリックを判定したい場面があります。 調べ方がいくつかありますが、今回は 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"; } //------------------------------------------------------------------- |