TShiftState abfragen
-
Hi,
Ich möchte abfragen, ob auf ein Element mit der Mouse doppelt geklickt wurde. Ich wollte dies so machen:void __fastcall TMainForm::ProcessRichEditMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if(Shift == ssDouble) { ... } }jetzt erhalte ich jedoch folgende Fehlermeldung:
[C++ Fehler] Unit1.cpp(155): E2094 'operator==' ist im Typ 'TShiftState' für Argumente des Typs 'Classes__1' nicht implementiert
Wie kann ich sonst einen Doppelklick abfragen?
-
TShiftState ist ein Set d.h. es kann mehrere Elemente beinhalten. Mit der Methode Contains() kann man ermitteln, ob ein bestimmtes Element enthalten ist.
void __fastcall TMainForm::ProcessRichEditMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if(Shift.Contains(ssDouble)) { ... } }
-
Probiers mal so:
if(Button==ssLeft) { }
-
Entschuldigung, verschrieben:
if(Button==ssDouble)
{
}
-
if(Shift.Contains(ssDouble)) funktioniert bestens, danke schön.
if(Button == ssDouble) funktioniert nicht, Button enthält bei mir immer nur mbLeft