Always-on-Top-Windows



  • Hallo,

    Ich wuerde fuer meine Applikation gerne ein Tool-Window bauen, das immer ueber das Hauptfenster gezeichnet wird, selbst wenn dieses fokusiert ist. Das Fenster selbst wurde bereits wahrscheinlich irgendwie mit CreateWindow erstellt und ich wuerde jetzt gerne irgendein Style oder Extended Style oder irgendwas setzen, sodass es immer ueber dem Hauptfenster bleibt.

    Ich habe ein bisschen herumprobiert, am ehesten hat noch ein SetParent()-Aufruf bewirkt, was ich mir vorgestellt habe, dann war das Tool-Fenster aber im Hauptfenster "gefangen" - man konnte es nicht mehr aus dessen Grenzen herausbewegen, aber es wurde immer ueber das Hauptfenster gezeichnet. Gibt es eine einfache Moeglichkeit, das gewuenschte Verhalten zu erreichen?

    Gruss,
    Snag



  • Always-on-Top jetzt nur auf die Anwendung bezogen, oder allgemein - für letzteres ist evtl. SetWindowPos mit HWND_TOPMOST das was du suchst, für ersteres: man soll im Hauptfenster aber schon noch was machen können, oder willst du quasi einen modalen Dialog?



  • flenders schrieb:

    man soll im Hauptfenster aber schon noch was machen können, oder willst du quasi einen modalen Dialog?

    Nein, eben keinen modalen Dialog. In etwa so wie der Suchen & Ersetzen-Dialog von Notepad: Das Fenster bleibt immer über dem Notepad-Hauptfenster, lässt sich aber von anderen Applikationen überdecken.

    Oh, ich lese gerade bei http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowfeatures.asp

    After creating an owned window, an application cannot transfer ownership of the window to another window.

    Damit wäre das ganze wohl gestorben - bleibt mir nix anderes übrig, als direkt an den CreateWindow-Aufruf zu gehen. Trotzdem danke 🙂



  • Du willst doch kein Ownership verlagern, oder? Du musst einfach nur das Window as Child des Hauptfensters erzeugen... dann solte schon alle gehen...


Anmelden zum Antworten