ChildWindow zum Slave machen



  • Hi!

    Einmal vorab bevor die spitzen Steine ausgepackt werden:
    Ich meine hier schonmal was gelesen zu haben zu dem Thema aber leider ist ja die Suchfunktion deaktiviert. Im Google etc bin ich auch nicht mehr wirklich was geworden.

    Nun zum Problem:
    Ich habe eine Klasse zum Einstellen für LayeredWindows geschrieben. Diese beinhaltet ein ChildWindow zu der Anwendung und stellt einen Scrollbar zum Einstellen der Transparenz bereit. Dieses Fenster positioniere ich beim ersten Aufruf oben an der Titelleiste. Nun möchte ich es aber gleichermaßen verschieben, sobald das ParentWindow verschoben wird.

    Dazu bräuchte ich einmal einen kleinen Tip 😕

    Vielen Dank im Voraus



  • Aloha,

    ich würde es folgendermaßen angehen.

    Du reagierst im ParenWindow auf die

    OnMove()
    

    Message. Logisch. 😉

    Wenn Du das Child window erstellst speicherst Du im Parentwindow den Zeiger des Childs.

    Nun kannst Du in der OnMove() dementsprechend reagieren.
    Bewegt sich das ParentWindow, bewegst Du einfach per

    m_pChild->MoveWindow(x,y);
    

    parallel das angedockte Child.

    Ich denke, so sollte es funzen.

    Grüße

    BOA



  • Ja, das kann man so machen, wenn man die Benachrichtigung in dem WindowProc() des ParentWindow macht. Aber das MessageHandling soll komplett in der Klasse stattfinden. Dort müßte ich dann die WM_MOVE Nachricht des Parent abfangen. Das bereitet mir noch einige Kopfschmerzen.

    (HWND)lParam    //das sollte ja eigentlich m_pWndParent->m_hWnd sein
    

    Leider komme ich da auch nicht hinter. Ich meine es gab etwas, womit man das Fenster direkt an das ParentWindow binden kann.


Anmelden zum Antworten