SDI-Anwendung: Fenster verschieben



  • Hallo,
    schreibe gerade an einer SDI-Anwendung.
    In dieser werden verschiedene Dialoge geladen und angezeigt.
    Verschiebe ich momentan das Rahmenfenster (CMainFrame), bleiben jedoch die angezeigten Dialoge an der gleichen Position.

    Wo muss ich da ansetzen, um beim Verschieben des Rahmenfensters auch den ganzen Inhalt (Dialoge) mitzuverschieben 😕

    Danke schon Mal für Eure Hilfe.

    Gruss
    S.



  • MoveWindow evtl? Kannst du jeden Dialog selber mit schieben



  • Wenn Du beim Erstellen der Dialogfenster (programmatisch, nicht mit dem Dialog Editor) das Hauptfenster als Parent angibst, entsteht eine Parent-Owner-Beziehung zwischen den Fenstern. Normalerweise ist der Owner von Top-Level-Fenstern immer der Desktop; gibt man aber als Parent ein anderes Top-Level-Fenster an, wird das angegebene Fenster zum Owner des betreffenden Fensters.

    Das muesste das Problem loesen.



  • Hallo und Danke erst mal.
    Also, das mit "MoveWindow" habe ich mir auch vorgestellt....!

    Wenn Du beim Erstellen der Dialogfenster (programmatisch, nicht mit dem Dialog Editor) das Hauptfenster als Parent angibst, entsteht eine Parent-Owner-Beziehung zwischen den Fenstern. Normalerweise ist der Owner von Top-Level-Fenstern immer der Desktop; gibt man aber als Parent ein anderes Top-Level-Fenster an, wird das angegebene Fenster zum Owner des betreffenden Fensters.

    Das habe ich leider nicht ganz verstanden.... 😕
    Meinst Du beim Erstellen meiner Dialoge im Konstruktor CMainFrame als Parent übergeben, oder wie? 😕
    Sorry, so richtig -fit- in MFC bin ich leider noch nicht.

    So, grüble gerade über etwas ganz grundsätzliches:
    Ich habe von CMainFrame ja gar keinen Zugriff auf meine Dialoge (die ich ja dann mitverschieben möchte....). Unter Umständen sind diese ja noch gar nicht erstellt. Wenn mich da vielleicht jemand mal auf die richtige Spur bringen würde.....! Oder sehe ich das falsch?!? 😕

    Danke für Eure Hilfe.

    Gruss
    S.



  • du hast doch sicher nichtmodale Dialoge?



  • jipp,
    das habe ich.
    evtl. kurz zum Aufbau meiner Software.

    _____________________1
    | |                |  |
    | |  2   __________|  |
    | |     |          |  |
    | |     |    3     |  |
    | |     |          |  |
    |_|_____|__________|__|
    

    Meine Software ist eigentlich in 3 - Frames geteilt.

    1. Rahmenfenster
    2. Hauptdialog
    3. diverse Unterdialoge des Hauptdialoges (wie bei einem Wizard)

    Wie schon erwähnt sind alle Dialoge nichtmodal.
    Verschiebe ich jetzt das Rahmenfenster (1), so müssen sich dann auch der Hauptdialog (2) und entsprechend der Unterdialog (3) mit verschieben.

    Vielleicht hilft das ein bisschen weiter.

    Danke.

    Gruss
    S.



  • Hallo,
    wie wird denn das Problem im "Normalfall" gelöst?!?
    Wenn ich CMainFrame über die Titelleiste verschiebe, dann muss ich diese Aktion doch irgendwie an die angezeigten Dialoge (Fenster,...) weitergeben können und diese, gegebenfalls, mit verschieben. 😕

    Schon Mal Danke für Eure Hilfe.

    Gruss
    S.



  • Normalfall? Da ist sowas wohl nicht vorgesehen. 🙄
    Aber guck mal da: http://www.codeproject.com/docview/dfv.asp
    Das fiel mir dazu ein. 🙂


Anmelden zum Antworten