Jump to content

Tool track mouse position and pixel color?


Recommended Posts

  • Moderators

yellowpower,

You will need to use MouseGetPos and PixelGetColor in a loop - and a ToolTip might be the best way to display the result. :oops:

Give it a go and see how you get on - you know where we are if you run into difficulties. :bye:

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

I do not take credit for this and I don't know who to give credit to even though it is a simple GUI. Alt+P key to send info to clipboard.

Opt('GUIOnEventMode', '1')
HotKeySet('!p', '_Pause')

Global $Pause = False

$GUI = GUICreate('Pixel Finder Tool v1.0', '150', '40', '-1', '-1', '-1', '128')
GUISetOnEvent(-3, '_Exit')
GUISetFont ('9', '600', '', 'Arial')
$Input = GUICtrlCreateInput('', '0', '0', '150', '20', '1')
$Input2 = GUICtrlCreateInput('', '0', '20', '150', '20', '1')
GUICtrlSetState($Input, 128)
GUICtrlSetState($Input2, 128)
GUISetState(@SW_SHOW, $GUI)
WinSetOnTop($GUI, '', '1')

While 1
If Not $Pause Then
$Pos = MouseGetPos()
$Pixel = PixelGetColor($Pos['0'], $Pos['1'])
$Pixel = '0x' & Hex($Pixel, '6')
GUICtrlSetData($Input, $Pixel)
GUICtrlSetData($Input2, "X: " & $Pos['0'] & "  Y: " & $Pos['1'])
EndIf
Sleep(15)
WEnd

Func _Pause()
If Not $Pause Then ClipPut(GUICtrlRead ($Input) & @CRLF & GUICtrlRead ($Input2))
$Pause = Not $Pause
EndFunc   ;==>_Pause

Func _Exit()
Exit
EndFunc   ;==>_Exit

Edit: Cleaned up the code a little.

Edited by rogue5099
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...