Nicht verschiebbarer Dialog



  • Ich glaube das ist eine Kleinigkeit aber ich komme einfach nicht drauf:
    Gibt es eine Möglichkeit, mit der ich von vornherein sagen kann, dass das Fenster eine feste Positon hat aber nicht verschoben werden darf? Die Größe darf aber beliebig verändert werden.
    Das nicht verschiebbare Fenster ist ein MDI-Child.
    Man könnte auf Move-Events reagieren und das Fenster dann auf die vorherige Position zurücksetzen aber kann man das von vornherein unterbinden?



  • Hallo

    Ich hätte auch das move-event abgefragt.

    chrische



  • Bei einem Dialog kann man NC_HITTEST abfangen und einen anderen HITTEST zurückgeben. Vielleicht geht das bei einem MDI Fenster ja auch. 🙂



  • rpf_9 schrieb:

    Ich glaube das ist eine Kleinigkeit aber ich komme einfach nicht drauf:
    Gibt es eine Möglichkeit, mit der ich von vornherein sagen kann, dass das Fenster eine feste Positon hat aber nicht verschoben werden darf? Die Größe darf aber beliebig verändert werden.

    Dir ist klar, daß man unter den Bedingungen das Fenster indirekt doch wieder verschieben kann? (du ziehst erst die linke obere Ecke an die Zielposition und anschließend die rechte untere Ecke)


  • Mod

    estartu hat den richtigen Weg angegeben. Fange WM_NCHITTEST ab, ruf den Default Handler auf und wenn dieser HTCAPTION returniert, dann ändere dies in HTNOWHERE.
    Thats it.

    Zweiter Ansatz wäre ein WM_MOVING Handler. Einfach das rectangle entsprechend manipulieren und es bewegt sich nichts mehr, oder nur so wie Du es möchtest.



  • Das funktioniert, danke! 🙂


Anmelden zum Antworten