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();
    

  • Mod

    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.


Anmelden zum Antworten