IanN1990 Posted May 19, 2017 Posted May 19, 2017 (edited) Hi, I am trying to detect a gui button double click without using TimerInit or a global mouse hook. Below is some code i have tried but cant understand why it is not working. ; *** Start added by AutoIt3Wrpper *** #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> ; *** End added by AutoIt3Wrapper *** #AutoIt3Wrapper_UseX64=n #AutoIt3Wrapper_Run_AU3Check=n #AutoIt3Wrapper_Add_Constants=n $hGUI = GUICreate("Test", 500, 500) $Button = GUICtrlCreateButton("test", 10, 10, 400, 30) GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND") GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func MY_WM_COMMAND($hWnd, $Msg, $wParam, $lParam) Local $nNotifyCode = BitShift($wParam, 16) Local $nID = BitAND($wParam, 0x0000FFFF) Local $hCtrl = $lParam If $nNotifyCode = $BN_DBLCLK And $nID = $Button Then ConsoleWrite("B") ; do stuff Return 0 EndIf Return $GUI_RUNDEFMSG EndFunc Now i know the GUI register has worked, My_WM_Command is receiving messages, $nID is getting the correct handle but $nNotifyCode is always the same? Edited May 19, 2017 by IanN1990
BrewManNH Posted May 19, 2017 Posted May 19, 2017 (edited) Change this line: $Button = GUICtrlCreateButton("test", 10, 10, 400, 30, BitOR($BS_NOTIFY, $GUI_SS_DEFAULT_BUTTON)) As stated by MSDN page on the page for notifications. Quote BN_DBLCLK notification code Sent when the user double-clicks a button. This notification code is sent automatically for BS_USERBUTTON, BS_RADIOBUTTON, and BS_OWNERDRAW buttons. Other button types send BN_DBLCLK only if they have the BS_NOTIFY style. Edited May 19, 2017 by BrewManNH If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
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