GUI: Auf Größenänderung reagieren

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: GUI: Auf Größenänderung reagieren

Re: GUI: Auf Größenänderung reagieren

Post by toralf » 04 Jun 2018, 15:15

Dafür gibt es auch die Funktion AutoXYWH. Einfach in script section danach suchen.

Re: GUI: Auf Größenänderung reagieren

Post by Gucky_87 » 04 Jun 2018, 02:20

Lieben Dank, das versuche ich mal.

Re: GUI: Auf Größenänderung reagieren

Post by just me » 30 May 2018, 09:03

Moin,

ein eingebautes 'Verankern' von Gui-Controls gibt es nur in AHK_H.

Du könntest versuchen, zunächst einmal MoveDraw durch Move zu ersetzen. Viele Controls brauchen MoveDraw nicht (immer).

Alternativ aber nicht getestet:
  • Am Anfang von GuiSize das Neuzeichnen des Fensters abschalten ...

    Code: Select all

    DllCall("SendMessage", "Ptr", GuiHwnd, "UInt", 0x0B, "Ptr", 0, "Ptr", 0) ; WM_SETREDRAW
  • ... und am Ende wieder einschalten

    Code: Select all

    DllCall("SendMessage", "Ptr", GuiHwnd, "UInt", 0x0B, "Ptr", 1, "Ptr", 0) ; WM_SETREDRAW
    WinSet, Redraw, , ahk_id %GuiHwnd% ; wird wahrscheinlich gebraucht

GUI: Auf Größenänderung reagieren

Post by Gucky_87 » 29 May 2018, 09:33

Hallöle zusammen,

ich hab ein GUI, das man in der Größe ändern kann.

Im Label GuiSize: regiere ich dann auf diese Änderung, indem ich alle GUI Elemente, mit
GuiControl, 1: MoveDraw,, BTN_Test, , % "W" . (A_GuiWidth - 20)

Das funktioniert auch bestens, ist aber z.B. bei gefüllten Listviews, deren Größe sich dabei verändert,
recht langsam und z.T. doch ruckelig.

Gibt es eine Möglichkeit, bestimmte GUI Elemente quasi 'festzutackern'?
Ich meine damit, dass ich dem Listview, Buttons und anderen Steuerelementen z.B. sage "Dein X und Y ist immer die linke, obere GUI Ecke plus 50 Pixel und Deine rechte, untere Ecke ist immer 50 Pixel kleiner, als das ganze Gui.

Danke im voraus,

Gucky

Top