Gleicher Dialog mehrmals öffnen...
-
Hallo, ich habe ein MDI-Anwendung wo ich per Menü ein Dialog mit Create öffne...
Nun stürtzt das Programm ab sobald ich im Menü den gleichen Dialog wieder öffne.
Ich möchte dass der User den Dialog mehrmals öffnen kann, aber ich weiß nicht wie oft er das Dialog öffnet.
Kann mir vieleicht jemand sagen wie ich das Problem löse???
Folgendes habe ich schon gemacht...if(Angebot.GetSafeHwnd()==0) { dlg.Create(IDD_DIALOG,NULL); dlg.ShowWindow(SW_SHOWNORMAL); } else { // hier weiß ich eben nicht was hinkommt!!! }Danke im voraus...
-
erzeuge ihn nur einmal, und zeige ihn mit showwindow an bzw. verstecke ihn mit showwindow
-
Das habe ich auch schon gemacht, aber es bringt mich nicht weiter weil der Kunde soll die möglichkeit haben das gleiche Dialog mehrmals zu öffnen...
Trotzdem Danke für die schnelle Antwort...
-
Ich vermute mal, dass irgendwo
CDialog dlg;
o.ä. steht. Und da ist das Problem, für dlg kannst Du nur einmal Create aufrufen. Du musst das ungefähr so machen:
CDialog* pdlg = new CDialog();
dann
pdlg->Create(...)
aufrufen.
Wichtig: irgendwo muss dann auch wieder
delete pdlg;
aufgerufen werden, damit die Instanz gelöscht wird. Also am Besten in einer dynamischen List verwalten oder ähnliches.
-
Danke schon mal im voraus..
Ich werde jetzt mal testen und melde mich dann später...
-
@Shaggy
Jo, ich habe das jetzt so gemacht wie du es geschrieben hast und es funktioniert...
DAnke