Fehler bei Dialoginitialisierung
-
Hallo,
Ich habe mit dem Assistenten einen Dialog mit Text und Edit-Feldern erstellt, und in der Klasse eine Methodevoid CDlgAnzeige::DisableAll() { m_EDIT7.ShowWindow(SW_HIDE); ... m_text1.ShowWindow(SW_HIDE);}
erstellt.
Beim Aufruf des Dialoges fliegt eine Exception weil hWnd = 0
Was ist an dem Aufruf falsch ???CDlgAnzeige dlgAnzeige; dlgAnzeige.DisableAll(); dlgAnzeige.DoModal();
Und hier fliegt er raus:
BOOL CWnd::ShowWindow(int nCmdShow) { ASSERT(::IsWindow(m_hWnd));
-
Hi,
das ist klar, weil zu der Zeit, wo du DisableAll() aufrufst die Controls nicht existieren.
Die Controls existieren erst nach OnInitDialog(). Diese Funktion wird aber erst in DoModal() aufgerufen.
Wenn du Standardmäßig alles Disabeln willst, überschreibe die OnInitDialog() Funktion und rufe dort deine DisableAll() Methode auf.
MFG
Kai
-
Hat wunderbar geklappt, (Denkfehler von mir)
Danke für den Tip