Hello Everybody, This is my first official post even though I have been scouring the forums for a couple weeks now. I am a new program Hobbyist...just began learning Autoit/any language no earlier than the beginning of June. I am currently trying to figure out how to use the find Color under mouse and apply it from a pop up screen to a main GUI. I did find the main part of this code on one of these pages but I can't find where I originally started from...So thank you to whomever that was! Issues I am facing: When it does work it only works onceCan't seem to get the value of the Hex properly (tried different variations and my brain hurts now)The main GUI doesn't refresh properly#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
Global $pos = MouseGetPos()
Global $pixel_hex = Hex(PixelGetColor($pos[0],$pos[1]), 6)
Global $pixel_last
Global $Popcolor, $ColorUpdate, $lblF8, $lblF9, $lblF10, $lblF11, $HexTopFirst, $HexTopSecond, $HexTopThird, $HexTopFourth, _
$HexBotFirst, $HexBotSecond, $HexBotThird, $HexBotFourth, $lblName1, $lblName2, $lblName3, $lblName4, $FirstColor, _
$SecondColor, $ThirdColor, $FourthColor
HotKeySet("{F8}","clip8")
HotKeySet("{f9}","clip9")
HotKeySet("{F10}","clip10")
HotKeySet("{f11}","clip11")
HotKeySet("{ESC}","endme")
;-----------------MAIN GUI---------------
$MainColor = GUICreate ("Main Color Find", 340,140)
$ColorUpdate = GUICtrlCreateButton("Find Colors",110,105,120,25)
;........NAME Labels............
$lblMainName1= GUICtrlCreateLabel("One", 30, 68, 50, 13)
$lblMainName2= GUICtrlCreateLabel("Two", 108, 68, 45, 13)
$lblMainName3= GUICtrlCreateLabel("Three", 195, 68, 100, 13)
$lblMainName4= GUICtrlCreateLabel("Four", 280, 68, 30, 13)
;........Graphics........
$FirstMain = GUICtrlCreateGraphic(35, 48, 18, 18, BitOR($GUI_SS_DEFAULT_GRAPHIC,$SS_BLACKFRAME,$SS_SUNKEN))
$SecondMain = GUICtrlCreateGraphic(112, 48, 18, 18, BitOR($GUI_SS_DEFAULT_GRAPHIC,$SS_BLACKFRAME,$SS_SUNKEN))
$ThirdMain = GUICtrlCreateGraphic(200, 48, 18, 18, BitOR($GUI_SS_DEFAULT_GRAPHIC,$SS_BLACKFRAME,$SS_SUNKEN))
$FourthMain = GUICtrlCreateGraphic(282, 48, 18, 18, BitOR($GUI_SS_DEFAULT_GRAPHIC,$SS_BLACKFRAME,$SS_SUNKEN))
GUISetState(@SW_SHOW)
;----------Main Loop---------------------
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[1]
Case $MainColor
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
Exit
Case $ColorUpdate
PopColor()
EndSwitch
Case $PopColor
Sleep(100)
Call("grab")
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
GUIDelete($PopColor)
Sleep(10)
GUICtrlSetState($ColorUpdate, $GUI_Enable)
Case $ColorUpdate
GUICtrlSetBkColor($FirstMain,$FirstColor)
GUICtrlSetBKColor($SecondMain,$SecondColor)
GUICtrlSetBKColor($ThirdMain,$ThirdColor)
GUISetBkColor($FourthMain,$FourthColor)
EndSwitch
EndSwitch
WEnd
Func PopColor()
$PopColor = GUICreate("Color Find Pop", 340,140)
$ColorUpdate = GUICtrlCreateButton("Update Main",110,105,120,25)
;........F9 - F12 Labels.......
$lblF8= GUICtrlCreateLabel("F8", 35, 7, 30, 20)
$lblF9= GUICtrlCreateLabel("F9", 112, 7, 45, 20)
$lblF10 = GUICtrlCreateLabel("F10", 200, 7, 50, 20)
$lblF11 = GUICtrlCreateLabel("F11", 282, 7, 42, 20)
;........Top HEX Labels.......
$HexTopFirst= GUICtrlCreateLabel("", 22, 32, 60, 13)
$HexTopSecond= GUICtrlCreateLabel("", 102, 32, 60, 13)
$HexTopThird = GUICtrlCreateLabel("", 188, 32, 60, 13)
$HexTopFourth = GUICtrlCreateLabel("", 271, 32, 60, 13)
;........BOTTOM HEX Labels.......
$HexBotFirst= GUICtrlCreateLabel("", 22, 85, 60, 13)
$HexBoTSecond= GUICtrlCreateLabel("", 102, 85, 60, 13)
$HexBoTThird = GUICtrlCreateLabel("", 188, 85, 60, 13)
$HexBoTFourth = GUICtrlCreateLabel("", 271, 85, 60, 13)
;........NAME Labels............
$lblName1= GUICtrlCreateLabel("One", 30, 68, 50, 13)
$lblName2= GUICtrlCreateLabel("Two", 108, 68, 45, 13)
$lblName3= GUICtrlCreateLabel("Three", 195, 68, 100, 13)
$lblName4= GUICtrlCreateLabel("Four", 280, 68, 30, 13)
;........Graphics........
$FirstColor = GUICtrlCreateGraphic(35, 48, 18, 18, BitOR($GUI_SS_DEFAULT_GRAPHIC,$SS_BLACKFRAME,$SS_SUNKEN))
$SecondColor = GUICtrlCreateGraphic(112, 48, 18, 18, BitOR($GUI_SS_DEFAULT_GRAPHIC,$SS_BLACKFRAME,$SS_SUNKEN))
$ThirdColor = GUICtrlCreateGraphic(200, 48, 18, 18, BitOR($GUI_SS_DEFAULT_GRAPHIC,$SS_BLACKFRAME,$SS_SUNKEN))
$FourthColor = GUICtrlCreateGraphic(282, 48, 18, 18, BitOR($GUI_SS_DEFAULT_GRAPHIC,$SS_BLACKFRAME,$SS_SUNKEN))
GUISetState(@SW_Show)
EndFunc
func grab()
$pos = MouseGetPos()
$pixel_hex = Hex(PixelGetColor($pos[0],$pos[1]), 6)
If $pixel_last <> $pixel_hex Then
GUICtrlSetData($HexTopFirst, $pixel_hex)
GUICtrlSetData($HexTopSecond, $pixel_hex)
GUICtrlSetData($HexTopThird, $pixel_hex)
GUICtrlSetData($HexTopFourth, $pixel_hex)
EndIf
$pixel_last = $pixel_hex
EndFunc
Func clip8()
Local $color = "0x" & $pixel_last
GUICtrlSetBkColor($FirstColor, $color)
GUICtrlSetColor($HexBotFirst,"0x"&$Pixel_Last)
GUICtrlSetData($HexBotFirst, $Pixel_Last)
EndFunc
Func clip9()
Local $color = "0x" & $pixel_last
GUICtrlSetBkColor($SecondColor, $color)
GUICtrlSetColor($HexBotSecond,"0x"&$Pixel_Last)
GUICtrlSetData($HexBotSecond, $Pixel_Last)
EndFunc
Func clip10()
Local $color = "0x" & $pixel_last
GUICtrlSetBkColor($ThirdColor, $color)
GUICtrlSetColor($HexBotThird,"0x"&$Pixel_Last)
GUICtrlSetData($HexBotThird, $Pixel_Last)
EndFunc
Func clip11()
Local $color = "0x" & $pixel_last
GUICtrlSetBkColor($FourthColor, $color)
GUICtrlSetColor($HexBotFourth,"0x"&$Pixel_Last)
GUICtrlSetData($HexBotFourth, $Pixel_Last)
EndFunc
Func endme()
Exit
EndFunc Questions: Can my purpose be served better by applying read and write ini file?
Would it be possible to have the main GUI already have a saved HEX color if using ini that can be overwritting from pop up menu?Would OnEvent be better?Any help would be appreciated...been stressing out over this coding for the last few days!