piginablanket Posted February 12, 2014 Share Posted February 12, 2014 This is my example script. If you click on the grey areas and press a key you will see a message in the console, but if you click the white area and press a key nothing happens. Removing the checkbox control causes the messages to be received again. Why does having controls in the child GUI block the messages? Is there any way to have the controls and receive the messages? #AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7 #include _Main() Func _Main() Local $h_Main = GUICreate("", 500, 500) Local $h_Child = GUICreate("", 500, 300, 0, 100, $WS_POPUP, $WS_EX_MDICHILD, $h_Main) GUISetBkColor(0xFFFFFF) GUICtrlCreateCheckbox("Test ", 10, 10) GUIRegisterMsg($WM_KEYDOWN, "WM_KEYDOWN") GUISetState(@SW_SHOW, $h_Main) GUISetState(@SW_SHOW, $h_Child) While GUIGetMsg() <> -3 WEnd EndFunc Func WM_KEYDOWN() Local Static $f = True ConsoleWrite((($f) ? ("+>") : ("!>")) & "WM_KEYDOWN" & @CRLF) $f = Not $f EndFunc Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 12, 2014 Moderators Share Posted February 12, 2014 piginablanket,Welcome to the AutoIt forum. I imagine the key is being eaten by the checkbox changing state before it ever reaches the message handler. But to change that behaviour would probably require subclassing the checkbox WndProc. 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...
AdmiralAlkex Posted February 12, 2014 Share Posted February 12, 2014 Hi and Welcome to the forums! I was typing something up, but meh. What Melba said. Look up _WinAPI_SetWindowsHookEx() in the helpfile and search for examples in the forum. Try and figure it out, and if you have any problems, just ask. .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
piginablanket Posted February 12, 2014 Author Share Posted February 12, 2014 (edited) I should have mentioned that this also happens with label and pic controls. I assume _WinAPI_SetWindowsHookEx() will be need either way so I'll look into it. EDIT: It looks like _WinAPI_SetWindowsHookEx() doesn't capture 'Home' or 'End' keys which are the only ones I'm interested in. Edited February 12, 2014 by piginablanket 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