checkbox/kontrollkästchen status abfragen?
-
ich hab im MSDN und hier im winAPI forum gesucht aber nichts gefunden! wie frage ich ab ob ein kontrollkästchen angeklickt ist?
-
IsDlgButtonChecked()
Sowas steht (neben reichlich überflüssigem Zeug (nach Meinung einiger Leute hier im Forum)) im Petzold...
-
du meinst
Windows-Programmierung | ISBN: 3860634879
?
naja 60 euro ...vielleicht koof ich mir das irgendwann maledit btw, habs dann irgendwann doch im msdn gefunden, aber anders gelößt:
SendMessage(checkbox,BM_GETCHECK,0,0)==BST_CHECKED
-
if (SendMessage(hKontrollkaestchen,BM_GETCHECK, NULL, NULL)) MessageBox(NULL, "Kaestchen aktiv", "test", NULL, NULL); if (!(SendMessage(hKontrollkaestchen,BM_GETCHECK, NULL, NULL))) MessageBox(NULL, "Kaestchen NICHT aktiv", "test", NULL, NULL);Mfg, Tolga
-
Tolga schrieb:
if (SendMessage(hKontrollkaestchen,BM_GETCHECK, NULL, NULL)) MessageBox(NULL, "Kaestchen aktiv", "test", NULL, NULL); if (!(SendMessage(hKontrollkaestchen,BM_GETCHECK, NULL, NULL))) MessageBox(NULL, "Kaestchen NICHT aktiv", "test", NULL, NULL);Mfg, Tolga
...und was machst Du bei 3-State-Checkboxen? Was, wenn die Checkbox den Status BST_INDETERMINATE hat?
außerdem brauchst nicht immer wieder SendMessage aufrufen, ein simples else reicht auch:
// Nur für "einfache" Kontrollkästchen, die nur // 2 Schaltzustände kennen... if (IsDlgButtonChecked(hDlg, IDC_CHECK1)==BST_CHECKED) MessageBox(NULL, "Kaestchen aktiv", "test", NULL, NULL); else MessageBox(NULL, "Kaestchen NICHT aktiv", "test", NULL, NULL);