CheckBox - Haken setzen, ohne OnClick auszulösen
-
Hallo
jedes Mal wenn ich die Eigenschaft Checked einer TCheckBox setzte, wird auch das OnClick Ereignis ausgelöst.
Gibt es einen Möglichkeit den Haken zu setzten ohne das Ereignis auszulösen ?[ Dieser Beitrag wurde am 26.04.2002 um 18:09 Uhr von Jansen editiert. ]
-
SendMessage(DasHandleDerCheckbox, BM_SETCHECK, BST_CHECKED, 0);
-
Da hast du recht, Pronto. Das ist wirklich doof. Mach dir eine Funktion "MouseIsIn" wie folgt
bool __fastcall TForm1::MouseIsIn(TWinControl* ctrl) { POINT p; GetCursorPos(&p); HWND wnd = WindowFromPoint(p); return (wnd==ctrl->Handle); }
Dann kannst du in der OnClick-Methode feststellen, ob die CheckBox direkt angeklickt wurde.
void __fastcall TForm1::CheckBox1Click(TObject *Sender) { if(MouseIsIn(CheckBox1)) ShowMessage("HALLO"); }
[ Dieser Beitrag wurde am 23.04.2002 um 13:38 Uhr von WebFritzi editiert. ]
-
Danke,
beides klappt !!!
-
WebFritzi:
Wenn die CheckBox den Focus hat kann man sie aber auch mit der Leertaste umschalten ...
Hier gibt's zwei "echte" Alternativen.