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
GUI: Auf Größenänderung reagieren
Moderator: jNizM
Re: GUI: Auf Größenänderung reagieren
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:
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
Re: GUI: Auf Größenänderung reagieren
Lieben Dank, das versuche ich mal.
Re: GUI: Auf Größenänderung reagieren
Dafür gibt es auch die Funktion AutoXYWH. Einfach in script section danach suchen.
ciao
toralf
toralf
Who is online
Users browsing this forum: No registered users and 27 guests