Custom Query
Results (112 - 114 of 3838)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#705 | Fixed | _GUICtrlToolbar_ClickButton() function does not always click on buttons | Gary | Bowmore |
Description |
Enviroment: WinXP Home SP3 AutoIt 3.2.12.1 AutoIt Beta 3.2.13.11 The coords of the centre of button are calculated in screen coords, but the click is preformed using whatever MouseCoordMode the user has set. The MouseCoordMode option needs setting to 1 and then resetting back to the original value before exiting the function. Code to demonstrate existing behaviour of existing function and that of the suggested fix below. ToolbaButtonClickTest.exe is a compiled version of the Create a Toolbar control help file example to give some buttons to click. ToolbaButtonClickTest.exe is the compliled version of the attached file Opt("MustDeclareVars", 1) Opt("WinWaitDelay", 100) Opt("WinTitleMatchMode", 4) Opt("WinDetectHiddenText", 1) Opt("MouseCoordMode", 2) Opt("PixelCoordMode", 2) #include <GuiToolBar.au3> Local $hWnd = 0 Local $iCommandID = 0 Run(@ScriptDir & "\ToolbaButtonClickTest.exe") WinActivate("Toolbar") $hWnd = ControlGetHandle("Toolbar", "", "ToolbarWindow321") ;Display behaviour of standard function first and the the modified version For $ifunc = 0 To 1 ;Display behaviour when mouse is not moved and then when mouse is moved For $iMove = 0 To 1 ;Use each of the MouseCoordMode in turn For $iCoordMode = 0 To 2 Opt("MouseCoordMode", $iCoordMode) For $i = 0 To 4 $iCommandID = _GUICtrlToolbar_IndexToCommand($hWnd, $i) If $ifunc = 0 Then ToolTip("Standard UDF Function '_GUICtrlTab_ClickTab()' MouseCoordMod = " & $iCoordMode & @CRLF & "Attempting To click on button " & $i & " mouse moving is " & ($iMove <> 0), 20, 20) _GUICtrlToolbar_ClickButton($hWnd, $iCommandID, "left", ($iMove <> 0), 1, 50) Else ToolTip("Modified UDF Function '_GUICtrlTab_ClickTab()' MouseCoordMode = " & $iCoordMode & @CRLF & "Attempting To click on button " & $i & " mouse moving is " & ($iMove <> 0), 20, 20) MOD_GUICtrlToolbar_ClickButton($hWnd, $iCommandID, "left", ($iMove <> 0), 1, 50) EndIf Sleep(3000) ;time to see what happens Next Next Next Next Exit Func MOD_GUICtrlToolbar_ClickButton($hWnd, $iCommandID, $sButton = "left", $fMove = False, $iClicks = 1, $iSpeed = 1) If $Debug_TB Then _GUICtrlToolbar_ValidateClassName($hWnd) Local $tPoint, $tRect, $iX, $iY, $iMode, $aPos $tRect = _GUICtrlToolbar_GetButtonRectEx($hWnd, $iCommandID) $tPoint = _WinAPI_PointFromRect($tRect) $tPoint = _WinAPI_ClientToScreen($hWnd, $tPoint) _WinAPI_GetXYFromPoint($tPoint, $iX, $iY) ;Switch to screen MouseCoordMode $iMode = Opt("MouseCoordMode", 1) If Not $fMove Then $aPos = MouseGetPos() _WinAPI_ShowCursor(False) ;_WinAPI_ShowCursor does not seem to work on XP so set mouse speed it instant MouseClick($sButton, $iX, $iY, $iClicks, 0) MouseMove($aPos[0], $aPos[1], 0) _WinAPI_ShowCursor(True) Else MouseClick($sButton, $iX, $iY, $iClicks, $iSpeed) EndIf ;Switch back to user MouseCoordMode Opt("MouseCoordMode", $iMode) EndFunc ;==>MOD_GUICtrlToolbar_ClickButton |
|||
#707 | Fixed | _GUICtrlMonthCal_Create | Gary | anonymous |
Description |
Ex.1 [autoit] #include <GUIConstantsEx.au3> #include <GuiMonthCal.au3> #include <WindowsConstants.au3> $hgui = GUICreate("Month Calendar Create", 1100, 600) $hmonthcal = _GUICtrlMonthCal_Create($hgui, 0, 0, $ws_border) GUISetState() Do Until GUIGetMsg() = $gui_event_close GUIDelete() autoit Ex.2 [autoit] #include <GUIConstantsEx.au3> #include <GuiMonthCal.au3> #include <WindowsConstants.au3> $hgui = GUICreate("Month Calendar Create", 1100, 600) $hmonthcal = _GUICtrlMonthCal_Create($hgui, 300, 0, $ws_border) GUISetState() Do Until GUIGetMsg() = $gui_event_close GUIDelete() autoit Ex.3 [autoit] #include <GUIConstantsEx.au3> #include <GuiMonthCal.au3> #include <WindowsConstants.au3> $hgui = GUICreate("Month Calendar Create", 1100, 600) $hmonthcal = _GUICtrlMonthCal_Create($hgui, 400, 0, $ws_border) GUISetState() Do Until GUIGetMsg() = $gui_event_close GUIDelete() autoit in ex.1, ex.2 and ex.3 i try move MonthCal horizontally, but in ex.1 - 1 month ex.2 - 2 months ex.3 - 3 months why? i want 1 month with _GUICtrlMonthCal_Create($hgui, 400, 0, $ws_border) it is possible? thank you |
|||
#710 | Rejected | UDF for port access | Gary | Michel |
Description |
In DOS I use debug to test my port. But in 2000, XP... it dosn't work |