Technician Geschrieben 8. Januar 2003 Geschrieben 8. Januar 2003 Hallo, ich möchte erreichen, dass man ein Dialogfeld einmal mit angezeigtem Button, und einmal mit ausgeblendetem Button aufrufen kann. Hierfür hab ich folgende Methode: void MessageDialog::ShowMessage(CString message, int OKbuttons, int& rfClicked) { m_Message = message; if(OKbuttons==1) { GetDlgItem(IDC_ALLE)->EnableWindow(FALSE); UpdateData(FALSE); } else { GetDlgItem(IDC_ALLE)->EnableWindow(TRUE); UpdateData(FALSE); } this->DoModal(); //wenn ich einen button klicke, wird clicked gefüllt rfClicked = clicked; } Das ganze stürzt jetzt natürlich ab - GetDlgItem kann ja nicht funktionieren, wenn DoModal noch nicht aufgerufen wurde. Setze ich aber GetDlgItem nach DoModal, so stürzt es auch ab - klar, alles was nach DoModal kommt, wird erst ausgeführt, wenn der Dialog schon geschlossen wurde. Wie mache ich das nun?! Technician Zitieren
Crush Geschrieben 8. Januar 2003 Geschrieben 8. Januar 2003 Ich würde mal probieren PreCreateWindow() zu überschreiben. Das sollte noch vor dem Aufbau des Dialogs aufgerufen werden. Zitieren
Klotzkopp Geschrieben 8. Januar 2003 Geschrieben 8. Januar 2003 Bin mir nicht sicher, ob GetDlgItem in PreCreateWindow schon funktioniert. OnInitDialog würde ich vorschlagen. Da sind alle Fenster erstellt, nur noch nicht sichtbar. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.