Deaktivieren von move, size, maximize bei einem Fenster



  • Probiere einfach, was du mit der Bearbeitung von WM_MOVE und WM_SIZE alles machen kannst. Du merkst dir die Position und die Grösse des Fensters und setzt sie neu sobald sie vom Benutzer verändert werden soll.



  • Kennt da jemand eine Lösung? Ziel ist wie gesagt die Applikation auf Vollbildansicht einzuschränken.
    Danke!

    Wozu soll das ueberhaupt gut sein?
    Eine App die sich so verhaelt wuerde ich sofort wieder vom Rechner schmeissen! Der Desktop gehoert mir! Wie gross ich welches Fenster mache entscheide ich und sonst keiner...

    gruss
    Dirk



  • dbu schrieb:

    Wozu soll das ueberhaupt gut sein?
    Eine App die sich so verhaelt wuerde ich sofort wieder vom Rechner schmeissen! Der Desktop gehoert mir! Wie gross ich welches Fenster mache entscheide ich und sonst keiner...

    Dann entscheidest du, was auf deinem Desktop zu sehen ist? Ich kann das jederzeit in einem eigenen Programm ändern. Der Desktop gehört dir, das Programm aber mir. Schmeiss es vom Rechner, wenn dir eine solche Besonderheit nicht gefällt. Und verzichte auf die Leistungen des Programmes oder schreibe sie selber! 😞



  • dbu schrieb:

    Kennt da jemand eine Lösung? Ziel ist wie gesagt die Applikation auf Vollbildansicht einzuschränken.
    Danke!

    Wozu soll das ueberhaupt gut sein?
    Eine App die sich so verhaelt wuerde ich sofort wieder vom Rechner schmeissen! Der Desktop gehoert mir! Wie gross ich welches Fenster mache entscheide ich und sonst keiner...

    gruss
    Dirk

    Das Programm ist auch nicht für trotzige Privatanwender geschrieben, sondern für die Forschung. Und wenn du ein solch spezialisiertes System kaufst gehört der Desktop dem Entwickler.

    Allen anderen vielen Dank für die Hilfe.



  • Wireman schrieb:

    dbu schrieb:

    Kennt da jemand eine Lösung? Ziel ist wie gesagt die Applikation auf Vollbildansicht einzuschränken.
    Danke!

    Wozu soll das ueberhaupt gut sein?
    Eine App die sich so verhaelt wuerde ich sofort wieder vom Rechner schmeissen! Der Desktop gehoert mir! Wie gross ich welches Fenster mache entscheide ich und sonst keiner...

    gruss
    Dirk

    Das Programm ist auch nicht für trotzige Privatanwender geschrieben, sondern für die Forschung. Und wenn du ein solch spezialisiertes System kaufst gehört der Desktop dem Entwickler.

    Allen anderen vielen Dank für die Hilfe.

    das hat nichts mit "trotzigem Privatanwender" zu tun, sondern mit gutem GUI-Design. In der aktuellen Windows-Welt gehoert der Desktop dem Anwender und nicht dem Entwickler! Wenn dem nicht so waere haette Microsoft sicherlich eine einfache (saubere) Methode zur Loesung deines Problems in der Win32-api vorgesehen. Diese gibt es aber nicht.



  • Wieso, es gibt eine einfache und saubere Methode: CreateWindow gleich die passenden Dimensionen und die Styles WS_POPUP, WS_MAXIMIZE und WS_SYSMENU auf den Weg geben
    ➡ keine Titelbar, keine Größenänderung möglich, aber nach wie vor ein Wechseln der Anwendung mittels Alt+Tab.
    Man kann auch noch zwei Schaltflächen fürs Schließen/Minimieren oben rechts in die Ecke zeichnen.
    Damit die Taskleiste und Sidebars auch noch sichtbar bleiben, bietet sich die Funktion GetMonitorInfo und die Auwertung von rcWork an, für eine wirkliche Vollbildanwendung auf dem primären Monitor reicht GetSystemMetrics(SM_CXSCREEN / SM_CYSCREEN).

    Edit: Userunfreundlich wäre es, wenn das Fenster zusätzlich HWND_TOPMOST wäre, oder es den Stil OVERLAPPEDWINDOW hätte und auf WM_NCHITTEST (immer) mit der Rückgabe von HTCLIENT reagieren würde.



  • Wireman schrieb:

    Ziel ist wie gesagt die Applikation auf Vollbildansicht einzuschränken.

    Und warum genau ist diese Beschränkung notwendig? Wenn ich das Ding eben im Fenster laufen haben will warum soll ich das nicht tun dürfen?



  • dbu schrieb:

    das hat nichts mit "trotzigem Privatanwender" zu tun, sondern mit gutem GUI-Design. In der aktuellen Windows-Welt gehoert der Desktop dem Anwender und nicht dem Entwickler! Wenn dem nicht so waere haette Microsoft sicherlich eine einfache (saubere) Methode zur Loesung deines Problems in der Win32-api vorgesehen. Diese gibt es aber nicht.

    In welcher Märchenwelt lebst du denn. Es gibt Anwendunge da ist es notwendig dass der Benutzer sowenig wie möglich manipulieren kann. Zum Beispiel in der Sicherheitbranche insbesondere Videoüberwachung, da werden Programme verwendet die laufen nur mit maximiertem Fenster und das Bedienpersonal ist nicht mal in der Lage das Programm zu beenden, geschweige denn den Rechner herunterzufahren.

    dbu schrieb:

    Der Desktop gehoert mir! Wie gross ich welches Fenster mache entscheide ich und sonst keiner...

    Und wem gehört der Desktop, dem Beteiber! Und wenn der Betreiber Leute dafür bezahlt auf eine maximierte Anwendung zu glotzen, dann haben die das gefälligst zu tun für ihr Geld, basta!

    Also nur weil dein Horizont nicht weit genug reicht, solltes du keine solche Verallgemeinerungen treffen.


  • Mod

    Der Besserwisser schrieb:

    Und wem gehört der Desktop, dem Beteiber! Und wenn der Betreiber Leute dafür bezahlt auf eine maximierte Anwendung zu glotzen, dann haben die das gefälligst zu tun für ihr Geld, basta!

    Also nur weil dein Horizont nicht weit genug reicht, solltes du keine solche Verallgemeinerungen treffen.

    Dann ist diese Methode aber der falsche Weg... dann sollte man gleich die Shell ganz ersetzen durch das eigene Programm, anstatt den Desktop nur zu verdecken...

    Der eingeschlagene Weg ist in diesem Fall unprofessionell.



  • Martin Richter schrieb:

    Der Besserwisser schrieb:

    Und wem gehört der Desktop, dem Beteiber! Und wenn der Betreiber Leute dafür bezahlt auf eine maximierte Anwendung zu glotzen, dann haben die das gefälligst zu tun für ihr Geld, basta!

    Also nur weil dein Horizont nicht weit genug reicht, solltes du keine solche Verallgemeinerungen treffen.

    Dann ist diese Methode aber der falsche Weg... dann sollte man gleich die Shell ganz ersetzen durch das eigene Programm, anstatt den Desktop nur zu verdecken...

    Der eingeschlagene Weg ist in diesem Fall unprofessionell.

    👍
    so isset, in normalen Applikationen haben solche Hacks jedenfalls nichts zu suchen.


Anmelden zum Antworten