Hallo zusammen,
ich habe noch eine GUI UDF gebaut, welche (wenn man es richtig anwendet) viel arbeit erspart und schöne Effekt beinhaltet, wie z. B. Mouse on Hover.
Bei Interesse schauts euch an. Für Feedback oder Verbesserungsvorschläge wäre ich euch sehr Dankbar.
Example
AutoIt
#include '4ern_SomeMore_GUI.au3'
Example()
Func Example()
$GUI = GUICreate("Mein GUI",500,200)
;Standart Defaults laden.
_4ern_ctrl_SetDefaults('reset')
;Setzen die Defaults per 2D Array
Local $aDefaults[][] = [['bg_color', 0x3C639A], ['font_name', 'Verdana'], ['font_size', 10]]
_4ern_ctrl_SetDefaults($aDefaults)
;neues Controll welches die Defaults besitzt
$btn1 = _4ern_ctrl_create('test',5,0)
;neues Controll mit Defaults über parameter
$btn2 = _4ern_ctrl_create('test1',60,5,100,100,0x85BE9F)
;neues Controll welches die neuen Defaults besitzt
$btn3 = _4ern_ctrl_create('test2',165,10)
;Änderung der Schriftgröße per Funktion
_4ern_ctrl_SetDefaults('font_size',12)
$btn4 = _4ern_ctrl_create('test3',270,20)
$btn5 = _4ern_ctrl_create('test4',375,30)
;Erstelle Array für Hover Buttons
Local $aHoverBtns[] = [$btn2, $btn3, $btn4, $btn5]
GUISetState(@SW_SHOW) ; Zeigt eine leere Dialogbox an
; GUI starten, bis der Dialog beendet wird
while 1
Switch GUIGetMsg()
case 0
;----------------------------------------------------------------------------------------------/
; Hover Effekte
;----------------------------------------------------------------------------------------------/
_4ern_ctrl_hover($GUI,$aHoverBtns, $btn2, 0x3C639A, 0x85BE9F)
;FlyOver auf dieses Label anwenden
if _4ern_ctrl_hover($GUI,$aHoverBtns, $btn3, 0x3C639A, 0x85BE9F) = $btn3 then
_Example_onOver($GUI,$btn3)
endif
_4ern_ctrl_hover($GUI,$aHoverBtns, $btn4, 0x3C639A, 0x85BE9F)
_4ern_ctrl_hover($GUI,$aHoverBtns, $btn5, 0x3C639A, 0x85BE9F)
Case $GUI_EVENT_CLOSE
exit
EndSwitch
wend
EndFunc
Func _Example_onOver($ParentGUI,$actionCtrl)
;FlyOver GUI erstellen
$GUI = __FlyOver_GUI($ParentGUI, 400, 200, $actionCtrl, Default, Default, 0x3C639A)
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $GUI, "int", 150, "long", 0x00040001)
_4ern_ctrl_create('sdfa sdf asd fasdf ',0,0)
GUISetState(@SW_SHOWNOACTIVATE,$GUI)
While 1
$msg = GUIGetMsg()
;wichtig um das FlyOver wieder zu verlassen
if IsHWnd($GUI) = 0 then ExitLoop
wend
endfunc
Alles anzeigen