Alle Dialoge mit dem letzen Schliessen
-
Alles Schliessen ..
Ich habe ca. 4 bis 5 Dialoge, wuerde gerne nach BEenden des Programmes alle schliessen. Ich habe von Anfang an eingestellt, dass alle Dialoge uebereinandeer sind, da ich Abbrechen fuer die anderen Auswahlfenster brauche. Wenn nun aber de Benutzer alles getan hat, dann kann er ja auch alles Schliessen.Diesen Befehl um das Fenster zu *Killen* ist nicht richtige, es verwurft mein Fenster, macht aber alle darunter inaktiv ...
Was es ja nicht sein soll. Und auf das erste zuzugreifen, dass hat nicht so recht funktioniert, ich weiss nicht was ich uebergeben soll..Danke fuer die Hilfe..
Gibt es denn kein einfaches *OnClose* :_)
-
Hi!
Send einfach mit SendMessage die WM_CLOSEmfg mike
-
Falls Deine Dialoge modal arbeiten, musst Du PostMessage verwenden
-
Danke,
Auf dem Rechner hier in der Uni ist keine Hilfe.
Wie lautet der Code,
ich habe Modal ...
-
Hi!
Probiers mal so:
CWnd* pWnd = FindWindow("Irgendwas",NULL),
if(pWnd)
pWnd->PostMessage(WM_CLOSE,0);mfg mike
-
Einfacher:
GetParent()->PostMessage(WM_CLOSE);
-
Danke, werde es gleich mal versuchen
-
Mh,
Es wird nur der 1. Dialog geschlossen, im Prinzip super, nur alle Dialoge liegen uebereinander, d.h. 1 bis 5. wenn ich 5 Schliesse, dann muessen alle zu. d.h. nicht nur der erste.
Wenn ich On Close mache, dann ist es nur der letze und dann muss ich mich auf OnClose pro Dialog durchklicken ..umstaendlich--
-
Aber bitte immer die Zeiger checken!!
-
void CMainFrame::CloseAllWindows(void) { CMDIChildWnd* lpoChildWnd = NULL; do { lpoChildWnd = MDIGetActive(NULL); if (lpoChildWnd) { lpoChildWnd->DestroyWindow(); } } while (lpoChildWnd); }
-
@Hexagon:
Aufgabenstellung verfehlt, 6, setzen@..._lady
Du musst natürlich und logischerweise bei jedem Dialog, dessen Parent automatisch geschlossen werden soll, GetParent()->PostMessage(WM_CLOSE) aufrufen !!
-
das dachte ich mir schon, habe hexagons Sache versucht .. nischt da :-))
Also nun dies.. klingt echt logisch --
-
Soviel zum Thema einfach :p *just joking*
mfg mike
-
-
Er meinte wahrscheinlich nur, dass "Schließen von Dialogen" gefragt war, aber die "Schließen von MDIs" gepostet hast
mfg mike
-
Uuuuppppssss! Mein Fehler!
-
Hi,
Probiers doch einfach mal mit: PostQuitMessage(...).z.B.:
PostQuitMessage(1);
Einfach irgendwo in irgendeinem Dialog reinschreiben und das gesamte Programm mit allen Dialogen wird geschlossen.
mfg TakeItEasy!
-
Danke Danke Danke..
Es hat super funktioniert!!Danke
alles supiiii