wo ist der fehler in folgendem (kleinen) code-ausschnitt?
-
hi,
ich habe in meiner mfc-anwendung eine checkbox fuer die ich eine funktion eingefuehrt habe, dessen Rumpf wie folgt aussieht:... UpdateData(TRUE); CButton *chckb = (CButton *) GetDlgItem(IDC_CHECK_SCP); CComboBox *cb = (CComboBox *) GetDlgItem(IDC_COMBO_SCP); cb->EnableWindow(chckb->IsDlgButtonChecked(IDC_CHECK_SCP)>0); UpdateData(FALSE); ...Die Checkbox deaktiviert einen Button, jenachdem ob die Checkbox an oder aus geschaltet ist. Initial sind beide Controlelemente enabled. Nach dem ersten druecken wird der Button richtig deaktiviert. Danach kriege ich ihn aber nicht mehr aktiviert beim einschalten der checkbox.
Woran kann das liegen??gruss,
danke
-
Schonmal per Debugger geschaut, was du mit IsDlgButtonChecked für Werte bekommst?
Außerdem hab ich gerade mal in die Hilfe geschaut und ich habe die Vermutung, dass du da was doppelt hast:
chckb->IsDlgButtonChecked(IDC_CHECK_SCP)chckb ist ein Zeiger auf die Checkbox
IDC_CHECK_SCP ist die ID von der CheckboxWarum gibst du das doppelt an, einmal reicht doch.
IsDlgButtonChecked(IDC_CHECK_SCP)
-
ja es war der doppelte aufruf.
danke.