Odewallrus Posted January 13, 2011 Share Posted January 13, 2011 Can some tell me how I can run a function when focus on an input field is lost? I have searched the help and forum and I am sure I am missing something easy. Link to comment Share on other sites More sharing options...
Varian Posted January 13, 2011 Share Posted January 13, 2011 Where is the input field? An AutoIT GUI, another program's GUI, a browser window, etc.? Also, is it an input or edit box? Also, are we talking about focus not having the cursor in it, or just mouse hover? Link to comment Share on other sites More sharing options...
Odewallrus Posted January 14, 2011 Author Share Posted January 14, 2011 Sorry, I should have been more clear... I am looking to update a scrolling marquis (update function) from a GUICtrlCreateInput field on the same AutoIt GUI. I would like to call my Function to update the marquis when the cursor exits the Input field. I am open to other suggestions as well if there is a better way of doing this. With my current level this was my direction. Thank you for your assistance. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted January 14, 2011 Moderators Share Posted January 14, 2011 Odewallrus, This shows how to detect the input gaining and losing focus: expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> $hGUI = GUICreate("Demo", 300, 150) $hInput = GUICtrlCreateInput("", 20, 20, 200, 20) $hLabel = GUICtrlCreateLabel("", 20, 50, 200, 20) $hButton = GUICtrlCreateButton("Dummy", 20, 80, 80, 30) ; Just to have something to take focus away from the input GUISetState() GUIRegisterMsg($WM_COMMAND, "On_WM_COMMAND") ; 0x0111 While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func On_WM_COMMAND($hWnd, $Msg, $wParam, $lParam) $nNotifyCode = BitShift($wParam, 16) $iControlID = BitAnd($wParam, 0x0000FFFF) If $iControlID = $hInput Then Switch $nNotifyCode ; Input loses focus - set label to input content Case $EN_KILLFOCUS ; 0x200 GUICtrlSetData($hLabel, GUICtrlRead($hInput)) ; Input gains focus - blank label Case $EN_SETFOCUS ; 0x100 GUICtrlSetData($hLabel, "") EndSwitch EndIf EndFunc Over to you to get your marquee update function to run in place of the label update. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Odewallrus Posted January 18, 2011 Author Share Posted January 18, 2011 Excelent. Thank you. I have it working. Link to comment Share on other sites More sharing options...
Varian Posted January 18, 2011 Share Posted January 18, 2011 Test Post..I'm having trouble posting to certain threads Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now