MDI-Childs aufzählen
-
nabend^^
also, ich mal wieder ein roblem mit meinem Texteditor^^
hab jetzt die Option "Zeilennummern anzeigen" in den Einstellungen-dialog eingefügt
(in Form einer Check-Box)mein Problem:
ich will, dass wenn der Nutzer auf [OK] klickt automatisch ALLE offenen Childs die Änderung übernehmen.
Für danach geöffnete Childs ist das kein Problem, aber eben für die bereits offenen...die Funktion EnumChildWindows kam mir ja in den Sinn^^
nur weiß ich hier nicht, ob das funktioniert...
erstens: ich weiß nicht, ob die Childs eben Childs vom Frame oder vom Client sind
zweitens: ob die Funktion überhaupt bei MDI-Childs funktioniertalso weiß jemand eine Möglichkeit um MDI-Childs zu enumerieren?
schonmal thx
MfG DrakoXP
-
Ja EnumChildWindows ist schon richtig und sie sind Kinder vom MDI Client Fenster.
-
Hab schon lange nicht mehr mit MDI gearbeitet weis nicht ob es ne einfach lösung gibt aber warum erstellst du dir nicht eine liste mit allen Childs des MDI? Du createst die doch dann trägst du sie in die liste ein und hast alle Handles. Wäre zumindest eine möglichkeit.
schirrmie
-
jo, aber ich mag nicht so viele globale Variablen verwenden^^
ich habe das Frame Window global und geshared, weil ich das so gemacht habe, dass nur eine Instanz vom Editor
offen sein kann, alle anderen Starts öffnen ein neues Child^^.
und das Clientfenster, das ist NUR GLOBAL.sonst habe ich keine Globals, und so sollte es eigentlich auch bleiben^^
-
also mit EnumChildWindows hat es funktioniert, thx
-
Wieso global?
Du hast doch deine MDIChildWndProc oder so ähnlich da packst du ein static HWND childhwnds[anzahl] rein und fertig ist.schirrmie
-
Leute meine Antwort ist richtig und besser, also redet kein Blech mehr. Ist doch alles klar und funktioniert alles, oder nicht?
-
jo funktioniert alles, hab ich aber schon geschrieben xD
trotzdem danke euch BEIDEN
-
Es geht weitaus einfacher mit GetWindow (http://msdn2.microsoft.com/en-us/library/ms633515.aspx) / GetNextWndow (http://msdn2.microsoft.com/en-us/library/ms633509.aspx) als mit EnumChildWindows. Mit GetWindow/GetNextWindow kann man eine ganz einfache Schleife bauen.
-
mit EnumChildWindows brauche ich keine Schleife, da macht das Windows intern^^
-
DrakoXP schrieb:
jo, aber ich mag nicht so viele globale Variablen verwenden^^
GetWindow() / GetNextWindow() braucht z.B. keine Callback-Funktion und alles was damit verbunden ist.

-
ach egal...
hauptsache es geht.
bei Version 2 wird ohnehin der größte Teil neugeschrieben und dann bau ich das vllt ein.
mal sehen.
-
DrakoXP schrieb:
mit EnumChildWindows brauche ich keine Schleife, da macht das Windows intern^^
Aber Du hast eine extra Funktion. Und das macht Code meistens unübersichtlich gerade wenn man etwas mit den Fenstern machen will.
-
ICH WERDE BEI VERSION 2 DRANDENKEN!!!
^^
ja ok, aber bitte jetzt keine Posts mehr, ich bekomme jedesmal eine E-Mail,
wenn jemand was schreibt.