FindWindow statt GetParent
-
Hi,
ich habe bisher meinem Hauptdialog über Sendmessage Infos übergeben
können. Jetzt war ich so schlau noch einen Zwischendialog zu basteln,
der nun ja leider die SendMessage abbekommt, da ich mit GetParent
aus meinem Unterdialog einen Aufruf starte.Hauptdialog -> Zwischendialog -> Unterdialog (Unterdialog sendet an Zwischendialog und nicht zum Hauptdialog
)Ok, jetzt könnte ich mit FindWindow die genaue Bezeichnung meines
Hauptdialoges ermitteln und an dieses HWND senden.Dabei ist leider das Problem, dass der Titel des Hauptdialoges vom
Benutzer zum Teil änderbar ist
Aus "Mein Programm" kann z.B. "Mein Programm für Max Muster" werden...
Kann ich meiner Dialoganwendung irgendwie einen genaueren Klassenbezeichner
oder sowas verpassen, damit ich den Dialog eindeutig ermitteln kann??Momentan zeigt mir Spy++: #32770 (Dialog) als Klasse an. Aber das ist ja bei
so ziemlich jedem MFC-Fenster so, oder
-
Nimm doch einfach zweimal GetParent.

-
Klappt bestimmt so:
GetParent()->GetParent();
-
Und warum nimmst Du nicht AfxGetMainWnd?
-
Gleich zwei Lösungen. Ich werde mir beides merken. Es funktioniert jetzt.
Danke
-
Nimm lieber AfxGetMainWnd (hätte ich auch selbst drauf kommen können...
). Die GetParent-Variante funktioniert natürlich nur mit einer festgelegten Anzahl an Ebenen, die du hochwandern möchtest (in dem Fall zwei). Das ist in anderen Situationen sinnvoll, aber nicht, wenn man an das Hauptfenster gelangen will.