找回密码
 加入
搜索
查看: 5842|回复: 4

[交流] 求助 - 取得滑鼠 X,Y座標 填入edit1

  [复制链接]
发表于 2011-5-24 08:44:20 | 显示全部楼层 |阅读模式
本帖最后由 tcpuuu 于 2011-5-24 08:46 编辑


取得滑鼠 X,Y座標 填入edit1
滑鼠移動  數字跟著改變
按下鍵盤Enter  停止數字改變
$xy = MouseGetPos()
ControlSetText ('取十進位','','Edit1',$xy[0])
這該如何編寫?求助大家
GUICreate("取十進位",152,200,10,10)
GUICtrlCreateLabel("X座標",5,5,42,20,0x00800000,0x01)
$A1 = GUICtrlCreateInput("",5,25,60,22,0x00800000,0x00000200)
GUICtrlSetFont(-1, 12)
GUICtrlCreateLabel(",",70,35,12,12,0x01)
GUICtrlCreateLabel("Y座標",85,5,42,20,0x00800000,0x01)
$A2 = GUICtrlCreateInput("",85,25,60,22,0x00800000,0x00000200)
GUICtrlSetFont(-1, 12)

GUICtrlCreateLabel("十進位Dec:",5,60,68,20,0x00800000,0x01)
$A3 = GUICtrlCreateInput("0",5,80,100,22,0x00800000,0x00000200)
GUICtrlSetFont(-1, 12)
GUICtrlCreateLabel("Hex",5,110,28,20,0x00800000,0x01)
$A4 = GUICtrlCreateInput("0",5,130,100,22,0x00800000,0x00000200)
GUICtrlSetFont(-1, 12)
$1Button = GUICtrlCreateButton("取顏色碼" , 5,156,82,30,0x00800000,0x01)

GUISetState()
While 1
        $msg = GUIGetMsg()
        Switch $msg
                Case -3
                        Exit
Case $1Button
$var1 = GUICtrlRead($A1)
$var2 = GUICtrlRead($A2)
$Pix = PixelGetColor($var1,$var2)
GUICtrlSetData($A3,$Pix)
GUICtrlSetData($A4,Hex($Pix,6))
EndSwitch
WEnd

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-5-24 10:15:41 | 显示全部楼层
本帖最后由 骗子 于 2011-5-24 10:17 编辑


Global $Paused
HotKeySet("{enter}", "TogglePause")  ;把回车定义成快捷键

GUICreate("取十進位",152,200,10,10)
GUICtrlCreateLabel("X座標",5,5,42,20,0x00800000,0x01)
$A1 = GUICtrlCreateInput("",5,25,60,22,0x00800000,0x00000200)
GUICtrlSetFont(-1, 12)
GUICtrlCreateLabel(",",70,35,12,12,0x01)
GUICtrlCreateLabel("Y座標",85,5,42,20,0x00800000,0x01)
$A2 = GUICtrlCreateInput("",85,25,60,22,0x00800000,0x00000200)
GUICtrlSetFont(-1, 12)

GUICtrlCreateLabel("十進位Dec:",5,60,68,20,0x00800000,0x01)
$A3 = GUICtrlCreateInput("0",5,80,100,22,0x00800000,0x00000200)
GUICtrlSetFont(-1, 12)
GUICtrlCreateLabel("Hex",5,110,28,20,0x00800000,0x01)
$A4 = GUICtrlCreateInput("0",5,130,100,22,0x00800000,0x00000200)
GUICtrlSetFont(-1, 12)
$1Button = GUICtrlCreateButton("取顏色碼" , 5,156,82,30,0x00800000,0x01)

GUISetState()
While 1
        $pos = MouseGetPos() ;读取当前鼠标坐标
        GUICtrlSetData($A1,$pos[0] ) ;设置输入框A1的数据为坐标的X
        GUICtrlSetData($A2,$pos[1] ) ;;设置输入框A1的数据为坐标的Y
        
        $msg = GUIGetMsg()
        Switch $msg
                Case -3
                        Exit
Case $1Button
$var1 = GUICtrlRead($A1)
$var2 = GUICtrlRead($A2)
$Pix = PixelGetColor($var1,$var2)
GUICtrlSetData($A3,$Pix)
GUICtrlSetData($A4,Hex($Pix,6))
EndSwitch
WEnd

Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip('选定的坐标为'&$pos[0]&','&$pos[1]) ;注意提示框的位置
    WEnd
    ToolTip("")
EndFunc


 楼主| 发表于 2011-5-24 10:39:14 | 显示全部楼层
本帖最后由 tcpuuu 于 2011-5-24 10:47 编辑

嗯!  謝謝
但是 按 Enter 定位取得坐標後   
再去按 1Button  (變沒回應)  要取得座標點的顏色碼
且 按右上要關閉這個視窗 結束  也 關不掉?

------------------------------------------------------
本來 手動 輸入座標 按 1Button 取得顏色碼
現在可 自動抓 自動輸入很方便
但是有以上問題
发表于 2011-5-24 21:35:52 | 显示全部楼层
将1button的内容放到 第二个循环中
 楼主| 发表于 2011-5-25 02:49:53 | 显示全部楼层
本帖最后由 tcpuuu 于 2011-5-25 02:51 编辑
GUISetState()
While 1
        $pos = MouseGetPos() ;?取?前鼠?坐?
        GUICtrlSetData($A1,$pos[0] ) ;?置?入框A1的?据?坐?的X
        GUICtrlSetData($A2,$pos[1] ) ;;?置?入框A2的?据?坐?的Y
       $msg = GUIGetMsg()
        Switch $msg
                Case -3
                        Exit
EndSwitch
WEnd
Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
Select 
Case $1Button
$var1 = GUICtrlRead($A1)
$var2 = GUICtrlRead($A2)
$Pix = PixelGetColor($var1,$var2)
GUICtrlSetData($A3,$Pix)
GUICtrlSetData($A4,Hex($Pix,6))
EndSelect
        sleep(100)
        ToolTip('?定的坐??'&$pos[0]&','&$pos[1]) ;注意提示框的位置
    WEnd
    ToolTip("")

EndFunc
再把底下 這個 用鍵盤移動滑鼠 加進去 要放那裡?
HotKeySet("{right}","right")

HotKeySet("{up}","up")
HotKeySet("{down}","down")
HotKeySet("{left}","left")
Sleep(10000000)
Func up()
        $xy = MouseGetPos()
        MouseMove($xy[0], $xy[1] - 1)
EndFunc   ;==>up
Func Down()
        $xy = MouseGetPos()
        MouseMove($xy[0], $xy[1] + 1)
EndFunc   ;==>Down
Func left()
        $xy = MouseGetPos()
        MouseMove($xy[0] - 1, $xy[1])
EndFunc   ;==>left
Func right()
        $xy = MouseGetPos()
        MouseMove($xy[0] + 1, $xy[1])
EndFunc   ;==>right
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-27 04:11 , Processed in 0.072162 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表