Hallo,
ich möchte in einer Autoit GUI bei betreten eines Edit CTRL Code ausführen.
So was wie "onfocus"
hat jemand eine Idee?
Hallo,
ich möchte in einer Autoit GUI bei betreten eines Edit CTRL Code ausführen.
So was wie "onfocus"
hat jemand eine Idee?
Einfach mal dasd Hilfe-Bsp. anschauen:
(leicht umgebaut)
#include <GuiEdit.au3>
#include <WinAPI.au3> ; used for Lo/Hi word
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
Global $hGUI, $hEdit
[/autoit] [autoit][/autoit] [autoit]_Example()
[/autoit] [autoit][/autoit] [autoit]Func _Example()
Local $hInput
; Create GUI
$hGUI = GUICreate("Edit Create", 400, 300)
$hInput = GUICtrlCreateInput('Blub', 10, 10, 380, 20)
$hEdit = _GUICtrlEdit_Create($hGUI, "", 10, 40, 380, 250)
GUISetState()
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
[/autoit] [autoit][/autoit] [autoit]; Loop until user exits
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Example2
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg
Local $hWndFrom, $iIDFrom, $iCode, $hWndEdit
If Not IsHWnd($hEdit) Then $hWndEdit = GUICtrlGetHandle($hEdit)
$hWndFrom = $ilParam
$iIDFrom = _WinAPI_LoWord($iwParam)
$iCode = _WinAPI_HiWord($iwParam)
Switch $hWndFrom
Case $hEdit, $hWndEdit
Switch $iCode
Case $EN_SETFOCUS ; Sent when an edit control receives the keyboard focus
WinSetTitle($hGUI, '', '!! Edit-Ctrl hat Fokus erhalten !!')
Case $EN_KILLFOCUS ; Sent when an edit control loses the keyboard focus
WinSetTitle($hGUI, '', '!! Edit-Ctrl hat Fokus verloren !!')
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND
ControlGetFocus in einer Schleife prüfen.
Edti: Bugfix war schneller
Danke das hat mir Sehr geholfen,
ich habe Bugfix´s Lösung genommen