Mit Create neues Fenster erstellt, nur das allte ist noch sichtbar, warunm?
-
hi,
ich habe eine kleine MDI Anwendung geschrieben.
Wenn ich mit
void CmyDialog::OnEmail() { CEmailDlg* eDialog; eDialog = new CEmailDlg(); eDialog->Create(IDD_MYAP_EMAIL,this); EnableWindow(TRUE); eDialog->ShowWindow(SW_SHOW); }wird mir auch der neue Dialog angezeigt. Nur der alte Dialog ist auch noch dahinter sichtbar, und ich kann auch die Steuerelemente vom alten Fenster sehen und benutzen.
Ich habe die FAQ gelesen, aber leider keine Lösung gefunden. Was mache ich falsch?
asmodia
-
CAltesFenster::OnOK();
-
Servus,
du erstellst mit deiner Funktion, einen nicht-modalen Dialog. Von daher ist dein Dialog im Hintergrund noch beeinflußbar. Wenn du es verhindern willst, dann benutze DoModal() oder machs dir unständlicher und setze bei dem anderen Dialog EnableWindow(FALSE)
. Das wäre aber nicht im Sinne des Erfinders...*winke*
Hellsgore
-
Danke für eure Antworten, aber das hatte ich schon versucht.
wenn ich versuche das alte Fenster so zu schließen
void CmyDialog::OnEmail() { CEmailDlg* eDialog; eDialog = new CEmailDlg(); eDialog->Create(IDD_MYAP_EMAIL,this); EnableWindow(TRUE); eDialog->ShowWindow(SW_SHOW); CmyDialog::OnOK(); }wird das neue garnicht angezeigt

Wenn ich das alte Fenter mit EnableWindow(FALSE) ausblende, kann ich beim neuen auch nichts eingeben

void CmyDialog::OnEmail() { CEmailDlg* eDialog; eDialog = new CEmailDlg(); eDialog->Create(IDD_MYAP_EMAIL,this); EnableWindow(TRUE); eDialog->ShowWindow(SW_SHOW); CmyDialog::EnableWindow(FALSE); }Wenn ich das neue Fenster so Modal öffne, ist das Fenster nicht in meiner
MDI Anwendung integriert
void CmyDialog::OnEmail() { CEmailDlg* eDialog; eDialog = new CEmailDlg(); eDialog->Create(IDD_MYAP_EMAIL,this); EnableWindow(TRUE); eDialog->ShowWindow(SW_SHOW); eDialog->DoModal(); }bitte helft mir
asmodia
-
Hat keiner mehr von euch eine Idee?
Bitte Bitte

asmodia