Ich komm mit meiner Checkbox nicht klar ..

Sebastian L

Grünschnabel
Hey,

ich bin gerade dabei ein PlugIn fuer ein Programm etwas umzuarbeitetn hierfuer haett ich gerne ne Checkbox, die habe ich auch schon eingefuegt und wenn ich sie anklicke wird zwar der Code ausgefuehrt den ich bei <hier> einfuege .. aber es "checkt" nicht ... wie mach ich denn das

Und wie frage ich spaeter ab, ob checke oder unchecked aktuell ist?

Leider mach ich das zum ersten Mal und im Internet habe ich alles moegliche gefunden, aber das gerade nciht :(

Gruss
S.

---

case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_CHECK1:
//<hier>
break;

[...]
 
Ich kann mich nur noch ganz wage dran errinnern und desswegen auch keinen brauchbraen code vorweisen ;)
Aber ich meine du musst im Message Loop auf diee Message warten, dass jemand drauf geklickt hat und dann die eigenschaft der Checkbox, die für das 'geklickt sein' zuständig ist auf TRUE oder so setzen ;)
Naja falls sich sonst niemand meldet kann ichs ja mal nachschlagen imo bin ich nur zu faul dafür :p
 
in dem code bei <hier> musst du noch ein :

CheckDlgButton(hwnd, IDC_CHECK1, BST_CHECKED);

einfügen.

Den Buttonstate fragt man mit "IsDlgButtonChecked" ab.
 
Original geschrieben von rockbaer
in dem code bei <hier> musst du noch ein :

CheckDlgButton(hwnd, IDC_CHECK1, BST_CHECKED);

einfügen.

Den Buttonstate fragt man mit "IsDlgButtonChecked" ab.

Okay, bis hierher super .. anklicken kann ich jetzt, aber abklicken .. ich dachte an eine Funktion die den Status wechselt. :)

Gibts sowas oder muss ich das selberbauen?

Gruss
S.
 
Code:
case IDC_CHECK1:
  if (IsDlgButtonChecked(hwnd, IDC_CHECK1) == BST_CHECKED)
  {
    CheckDlgButton(hwnd, IDC_CHECK1, BST_CHECKED);
    <hier>
  }
  else CheckDlgButton(hwnd, IDC_CHECK1, BST_UNCHECKED);
  break;
Schaut zwar ein bisschen komisch aus, aber sollte eigentlich in deinem "speziellen Fall" funktionnieren.
Wenn das nicht geht, dann ersetze das BST_CHECKED in der if zeile durch BST_UNCHECKED
 
Zuletzt bearbeitet:
Original geschrieben von rockbaer
Code:
case IDC_CHECK1:
  if (IsDlgButtonChecked(hwnd, IDC_CHECK1) == BST_CHECKED)
  {
    CheckDlgButton(hwnd, IDC_CHECK1, BST_CHECKED);
    <hier>
  }
  else CheckDlgButton(hwnd, IDC_CHECK1, BST_UNCHECKED);
  break;

Schaut zwar ein bisschen komisch aus, aber sollte eigentlich in deinem "speziellen Fall" funktionnieren.
Wenn das nicht geht, dann ersetze das BST_CHECKED in der if zeile durch BST_UNCHECKED

Super .. danke Dir .. mit BST_UNCHECKED hats jetzt super geklappt ...
Prima .. manchmal braucht man nen Tip .. bevor ich das jetzt so aus dem Internet gezaubert haette waere wohl nen ganzer Tag vergangen :(

Gruss
S.
 
Zurück