Veröffentlicht 8. Januar 200322 j 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
8. Januar 200322 j Ich würde mal probieren PreCreateWindow() zu überschreiben. Das sollte noch vor dem Aufbau des Dialogs aufgerufen werden.
8. Januar 200322 j Bin mir nicht sicher, ob GetDlgItem in PreCreateWindow schon funktioniert. OnInitDialog würde ich vorschlagen. Da sind alle Fenster erstellt, nur noch nicht sichtbar.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.