Dialog - ComboBox Enable/Disable?
-
Hey,
Ich habe eine DLL und habe mir mit dem Resource Editor eine DialogBox mit einer ComboBox erstellt.Wie mache ich die jetzt z.B Grau (Disable)
-
das handle auf das jeweilige steuerelement besorgen
dann mit der Funktion::EnableWindow(hWnd,TRUE)//anschalten (nicht grau) ::EnableWindow(hWnd,FALSE)//ausschalten (grau)
-
Ich hab das ja per Resource Editor gemacht.
Wie bekomme ich denn den Handle, wenn ich z.b weiß, dass es IDC_COMBO1 heißt und den Dialog Handle habe?
-
HWND hWndRes = ::GetDlgItem(hWndDlg,IDC_RESOURCE);
-
-
::EnableWindow(GetDlgItem(Dialoghwnd,IDC_COMBO1),TRUE); ::EnableWindow(GetDlgItem(Dialoghwnd,IDC_COMBO2),TRUE);
Ich hab das jetzt so gemacht, passiert aber leider nichts mit der ComboBox
-
wo gibts hier bitte den haumichweg smilie...
tue mir einen gefallen und lies dir meine kommentare bezüglich der EnableWindow einstellungen nochmal genau durch
-
Ok, es funktioniert
Hatte den Dialog Handle vertauscht, der wird ja der Callback Funktion übergebenDanke an alle.
-
Ok irgendwie scheint da etwas schief zu laufen
Disablen kann ich sie, aber ENablen nichtcase IDC_CHECK1: if (IsDlgButtonChecked(Dialoghwnd, IDC_CHECK1) == BST_CHECKED) { ::EnableWindow(GetDlgItem(hWndDlg,IDC_COMBO1),false); ::EnableWindow(GetDlgItem(hWndDlg,IDC_COMBO2),false); } else { ::EnableWindow(GetDlgItem(hWndDlg,IDC_COMBO1),true); ::EnableWindow(GetDlgItem(hWndDlg,IDC_COMBO2),true); } break;
-
Derderhilfebraucht schrieb:
Hatte den Dialog Handle vertauscht, ...
Derderhilfebraucht schrieb:
if (IsDlgButtonChecked(Dialoghwnd, IDC_CHECK1) == BST_CHECKED) { ::EnableWindow(GetDlgItem(hWndDlg,IDC_COMBO1),false); ...
Kann es sein, dass dir das hier wieder passiert ist (Dialoghwnd vs. hWndDlg, im Code kann man nichts fett markieren)?
-
Thorgrim schrieb:
Derderhilfebraucht schrieb:
Hatte den Dialog Handle vertauscht, ...
Derderhilfebraucht schrieb:
if (IsDlgButtonChecked(Dialoghwnd, IDC_CHECK1) == BST_CHECKED) { ::EnableWindow(GetDlgItem(hWndDlg,IDC_COMBO1),false); ...
Kann es sein, dass dir das hier wieder passiert ist (Dialoghwnd vs. hWndDlg, im Code kann man nichts fett markieren)?
i love you *_*
Dankeschln :3
-
Und die Moral von der Geschicht': Globale Variablen nutzt man nicht (bzw. deklariert sie erst gar nicht - da gibt es aber Probleme mit dem Versmaß ).