000
08.07.2004, 16:58 Uhr
~Bokon Taylay
Gast
|
Aloha!
In einem Dialog soll ich bei Aktivierung/Deaktivierung einer Checkbox drei 'SubCheckboxes' ebenfalls aktivieren/deaktivieren und enablen/disablen. (sonst kann man die drei Untergruppen beliebig selektieren, solange Set gesetzt ist, Code nicht gezeigt)
Struktur also in etwa so:
-SET -GROUP0 -GROUP1 -GROUP2
Ersteres geht recht leicht ich hab's folgendermaßen gemacht:
C++: |
void CSetup::OnClickSet() { if (IsDlgButtonChecked (IDC_SET)) { if (!IsDlgButtonChecked (IDC_GROUP0)) CheckDlgButton (IDC_GROUP0, 1); if (!IsDlgButtonChecked (IDC_GROUP1)) CheckDlgButton (IDC_GROUP1, 1); if (!IsDlgButtonChecked (IDC_GROUP2)) CheckDlgButton (IDC_GROUP2, 1); } else { if (IsDlgButtonChecked (IDC_GROUP0)) CheckDlgButton (IDC_GROUP0, 0); if (IsDlgButtonChecked (IDC_GROUP1)) CheckDlgButton (IDC_GROUP1, 0); if (IsDlgButtonChecked (IDC_GROUP2)) CheckDlgButton (IDC_GROUP2, 0); }
}
|
Aber wie kann ich die drei SubCheckboxes disablen bzw. wieder enablen? Es gibt eine Class CCmdUI, aber die wird nur bei Update (Menu) benutzt. Habe versucht mit GetDlgItem (IDC_GROUP0) und einem cast die Funktion Enable(FALSE) auszuführen, aber da gibts Probleme (GetDlgItem gibt ja einen Pointer vom Typ CWnd zurück).
Hat jemand eine Idee, wie man das macht - ist das erste Mal, dass ich sowas brauche. Gracias!
BT |