GUI maximiert und vollständig sichtbar auf allen Bildschirmgrößen anzeigen lassen

  • Hallo,

    ich bekomme es nicht hin, auf Note, Netbooks verschiedener Monitorgrößen meine GUI vollständig angezeigt zu bekommen.
    Mit Koda habe ich die verschiedensten Kombinationen getestet, jedoch nur mit teilerfolgen.

    Meine derzeitige Test Gui hat folgenden Code:

    Wie kann ich es schaffen, dass die GUI bei allen mobilen Geräten oben bis zum Bildschirmrand und vor allem unten nur bis zur Taskleiste andockt und nicht darüber hinaus rutscht.

    • Offizieller Beitrag

    Oh den Code kenn ich doch!!

    Meinst du so in der Art?

  • Super, ja genau so. Vielen Dank.

    Ein kleines Problem habe ich, zumindest jetzt bei meinem Netbook auf dem ich momentan arbeite. Es werden beim Start der Exe keine Buttons angezeigt. Erst wenn ich auf minimieren klicke und dann wieder auf maximieren, sind die Buttons zu sehen.

  • Hallo Kanashius,

    vielen Dank für Deinen Vorschlag. Der Umweg über @SW_Minimize und dann @SW_Maximize ist gut. Somit wird die GUI nach dem Start vollständig angezeigt . Für PC und Notebooks ist dies absolut ausreichend. Bei meinem Netbook nicht ganz, aber so kann ich damit arbeiten.

    _WinAPI_RedrawWindow habe ich in den Code von bernd670 eingebaut, brachte allerdings keine besseren Ergebnisse als _WinAPI_GetSystemMetrics.
    Oder meinstest Du, dass_WinAPI_RedrawWindow wo anders eingebaut werden sollte?

    bernd670 :
    Dein Code erzeugt ja eine zusätzliche, virtuelle GUI wenn ich mich nicht irre. Dadurch wurden mir beim Test mit der compilierten .exe auf meinen Testsystemen 2 gestartete Icons angezeigt. Kann man dies unterdrücken? Also so, dass nur ein Icon angezeigt wird.

  • Ah.. da war ich falsch gewickelt. Danke der Erklärung.

    Ich habe in der Hilfe nachgeschaut und das gefunden:

    Code
    #include <WinAPI.au3>
    _WinAPI_RedrawWindow ( $hWnd [, $tRect = 0 [, $hRegion = 0 [, $iFlags = 5]]] )

    Ich kapiere nicht, wie ich das in meinem Fall anwenden kann.

    • Offizieller Beitrag

    bernd670 :
    Dein Code erzeugt ja eine zusätzliche, virtuelle GUI wenn ich mich nicht irre. Dadurch wurden mir beim Test mit der compilierten .exe auf meinen Testsystemen 2 gestartete Icons angezeigt. Kann man dies unterdrücken? Also so, dass nur ein Icon angezeigt wird.

    Hast du evtl. meinen Code 1:1 in deinen übernommen?

    Das sollte nur ein Beispiel sein wie man die komplette Bildschirmgröße ermitteln kann, auch wenn man z.B. 2 Monitore angeschlossen hat.

    Einbauen in den Code würde ich es so:

    WinMove hat in diesem Fall den gleichen effekt wie @SW_Maximize, allerdings auch über mehrere Monitore hinweg.

  • Hallo bernd670 und Kanashius:

    Habt vielen Dank für Eure Hilfe und entschuldigt meine naive Arbeitsweise. Ich bin so verwöhnt von der tollen Hilfe hier, dass ich gleich den Code von Bernd670 1:1 eingebaut habe X/ . Ich habe es jetzt nach Deinem Beispiel nachvollzogen und es funkt bestens, auch der Tip von Kanashius funktioniert prima.

    Jetzt rennt mir nur noch die GUI beim zurückverkleinern (nicht minimieren) der untere Rand, hinter und vor allem unter die Taskleiste.