ConsultingJoe Posted September 16, 2007 Share Posted September 16, 2007 (edited) Possible usage: ControlClickDrag( "title", "text", "control", "button", x1, y1, x2, y2 [, speed] ) ControlGetColor( "title", text", "control", x, y ) Edited September 16, 2007 by CyberZeroCool Check out ConsultingJoe.com Link to comment Share on other sites More sharing options...
martin Posted September 16, 2007 Share Posted September 16, 2007 Possible usage: ControlClickDrag( "title", "text", "control", "button", x1, y1, x2, y2 [, speed] ) ControlGetColor( "title", text", "control", x, y ) If you mean could you write a function like that then obviously yes, but I don't think that's what you mean is it? Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted September 16, 2007 Moderators Share Posted September 16, 2007 Func _ControlGetColor($hWndMain, $sText, $sClassName, $nX, $nY) Local $hWndCtrl = ControlGetHandle($hWndMain, "", $sClassName) If $hWndMain = "" Then Return SetError(1, 0, "") Local $tStruct = DllStructCreate("int;int") DllStructSetData($tStruct, 1, $nX) DllStructSetData($tStruct, 2, $nY) Local $aSCoords = DllCall('User32.dll', 'int', 'ClientToScreen', _ 'hwnd', $hWndCtrl, 'ptr', DllStructGetPtr($tStruct)) If IsArray($aSCoords) = 0 Then Return SetError(2, 0, "") Local $OptPCM = Opt("PixelCoordMode", 1) Local $nPGC = PixelGetColor(DllStructGetData($tStruct, 1), DllStructGetData($tStruct, 2)) Opt("PixelCoordMode", $OptPCM) Return $nPGC EndFunc I was able to do the ControlClickDrag as well, but unfortunately not without moving the mouse. Don't have time to keep playing with it. I did also notice that on some controls, the coords were off a bit, but this is how I saw the ControlGetColor working. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
ConsultingJoe Posted September 16, 2007 Author Share Posted September 16, 2007 Func _ControlGetColor($hWndMain, $sText, $sClassName, $nX, $nY) Local $hWndCtrl = ControlGetHandle($hWndMain, "", $sClassName) If $hWndMain = "" Then Return SetError(1, 0, "") Local $tStruct = DllStructCreate("int;int") DllStructSetData($tStruct, 1, $nX) DllStructSetData($tStruct, 2, $nY) Local $aSCoords = DllCall('User32.dll', 'int', 'ClientToScreen', _ 'hwnd', $hWndCtrl, 'ptr', DllStructGetPtr($tStruct)) If IsArray($aSCoords) = 0 Then Return SetError(2, 0, "") Local $OptPCM = Opt("PixelCoordMode", 1) Local $nPGC = PixelGetColor(DllStructGetData($tStruct, 1), DllStructGetData($tStruct, 2)) Opt("PixelCoordMode", $OptPCM) Return $nPGC EndFunc I was able to do the ControlClickDrag as well, but unfortunately not without moving the mouse. Don't have time to keep playing with it. I did also notice that on some controls, the coords were off a bit, but this is how I saw the ControlGetColor working. Thanks but I don't think the ControlGetColor returns the correct color? and the controlClickdrag would be great. do you think these two should be a standard function? Check out ConsultingJoe.com Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted September 16, 2007 Moderators Share Posted September 16, 2007 Thanks but I don't think the ControlGetColor returns the correct color?I said I found on some controls the coords were off a bit, but it did work on most controls I used it on.and the controlClickdrag would be great.Done any work on this yourself? ... Just takes you opening up your editor and putting in some code and keep trying until you can get something to work... then move on to the next step.do you think these two should be a standard function?Why? Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
ConsultingJoe Posted September 16, 2007 Author Share Posted September 16, 2007 I said I found on some controls the coords were off a bit, but it did work on most controls I used it on.Done any work on this yourself? ... Just takes you opening up your editor and putting in some code and keep trying until you can get something to work... then move on to the next step.Why?Why? Because these could be useful.And I don't know how to pull a ControlClickDrag out of my ass. there ControlClick, but that doesn't help me much.and as for the color coods, I'm trying to get the color of the mspaint canvas. and it must be way off, because theres only white, gray, and black, and I'm getting colors way off of that. Check out ConsultingJoe.com Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted September 16, 2007 Moderators Share Posted September 16, 2007 Why? Because these could be useful.And I don't know how to pull a ControlClickDrag out of my ass. there ControlClick, but that doesn't help me much.and as for the color coods, I'm trying to get the color of the mspaint canvas. and it must be way off, because theres only white, gray, and black, and I'm getting colors way off of that.1. MSDN << (PostMessage should be all you need with the current control functions available) No need to pull it out of your rear... just do some home work. (Might have a look at the old source to get some ideas)2. Useful to whom? I mean, functions like insert should be used by masses, not just because they can be done, and a few would benefit, remember that everything that is added as a standard function bloats the current executable size output.3. Sounds like you have the wrong control if the colors are off that bad... try to do any debugging? If so, what did you find?4. Your signature makes the screen extend further out, making someone have to scroll to read your posts (Kind of ridiculous). Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted September 17, 2007 Moderators Share Posted September 17, 2007 I something similar I had written that would work for the GetColor(). This should be more accurate: Func _ControlGetColor($hWnd, $sText, $sClassName, $nX, $nY) Local $aWPos = WinGetPos($hWnd, $sText) If IsArray($aWPos) = 0 Then Return SetError(1, 0, "") Local $aCSize = WinGetClientSize($hWnd, $sText) If IsArray($aCSize) = 0 Then Return SetError(2, 0, "") Local $aCPos = ControlGetPos($hWnd, $sText, $sClassName) If IsArray($aCPos) = 0 Then Return SetError(3, 0, "") Local $nXCoord = ($nX + $aCPos[0] + $aWPos[0]) + (($aWPos[2] - $aCSize[0]) / 2) Local $nYCoord = ($nY + $aCPos[1] + $aWPos[1]) + _ (($aWPos[3] - $aCSize[1]) - (($aWPos[2] - $aCSize[0]) / 2)) Local $OptPCM = Opt("PixelCoordMode", 1) Local $nPGC = PixelGetColor($nXCoord, $nYCoord) Opt("PixelCoordMode", $OptPCM) Return $nPGC EndFuncNote, that 0, 0 would be the left/top of the control itself. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
ConsultingJoe Posted September 17, 2007 Author Share Posted September 17, 2007 Thanks guys, I was just frustrated, I'm trying to make a nice paint udf set but I'm having troubles. Check out ConsultingJoe.com Link to comment Share on other sites More sharing options...
ntprohd Posted February 12, 2016 Share Posted February 12, 2016 On 16/9/2007 at 9:21 PM, martin said: Nếu bạn có nghĩa là bạn có thể viết một hàm như thế thì rõ ràng là có, nhưng tôi không nghĩ rằng đó là những gì bạn có nghĩa là nó là? anyone have an example of this, I have a lot of google searches but no results Link to comment Share on other sites More sharing options...
BrewManNH Posted February 12, 2016 Share Posted February 12, 2016 You are being deliberately lazy. There's an example IN THIS VERY THREAD showing you what you want. Stop pretending you've actually done ANY searching. 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 Link to comment Share on other sites More sharing options...
ntprohd Posted June 13, 2016 Share Posted June 13, 2016 On 12/2/2016 at 9:59 AM, BrewManNH said: You are being deliberately lazy. There's an example IN THIS VERY THREAD showing you what you want. Stop pretending you've actually done ANY searching. I want an example ControlClickDrag 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