sonicxtacy02 Posted November 20, 2006 Posted November 20, 2006 (edited) I'm writing a script that uses the second example of the GUICTRLCREATEPIC function from the help file. The script as it is is working great, its meant to test the position of a box displayed in a window. What i need however is a way to count the hotkey (left, right, up, down) presses. The point of doing this is i'm trying to find out how far right and how far down the $pic has to travel to be in the right position. Therefore: Right should be X position +1 Left should be X position -1 Down should be Y position +1 Up should be Y position -1 I will set the ENTER key to display a message box with the final result of X and Y unfortunately i can think of a function that will count the presses for me (think my brain is overloaded from the gui concepts i've picked up today) can anyone help. Here is a snippet from my script: expandcollapse popupif stringinstr($cmdlineraw, "debug") then $gui=GUICreate("test transparentpic", 96, 96, 0+$offsetx, 60+$offsety) $pic=GUICreate("", 96, 96, $offsetx-1, 39+$offsety,BitOr($WS_POPUP,$SS_GRAYFRAME),BitOR($WS_EX_LAYERED,$WS_EX_MDICHILD),$handle) GUICtrlCreatePic("debugbox.gif",0,0,0,0) GUISetState(@SW_SHOW,$pic) GUISetState(@SW_HIDE,$gui) HotKeySet("{ESC}", "main") HotKeySet("{LEFT}", "left") HotKeySet("{RIGHT}", "right") HotKeySet("{DOWN}", "down") HotKeySet("{UP}", "up") HotKeySet("{ENTER}","enter") $picPos = WinGetPos($pic) $guiPos = WinGetPos($gui) do $msg = GUIGetMsg() until $msg = $GUI_EVENT_CLOSE Exit ENDIF Func left () $picPos = WinGetPos($pic) WinMove($pic,"",$picPos[0]-1,$picPos[1]) EndFunc Func right() $picPos = WinGetPos($pic) WinMove($pic,"",$picPos[0]+1,$picPos[1]) EndFunc Func down() $picPos = WinGetPos($pic) WinMove($pic,"",$picPos[0],$picPos[1]+1) EndFunc Func up() $picPos = WinGetPos($pic) WinMove($pic,"",$picPos[0],$picPos[1]-1) EndFunc Edited November 20, 2006 by sonicxtacy02
Valuater Posted November 20, 2006 Posted November 20, 2006 this seemd incorrect$gui=GUICreate("test transparentpic", 96, 96, 0+$offsetx, 60+$offsety)$pic=GUICreate("", 96, 96, $offsetx-1, 39+$offsety,BitOr($WS_POPUP,$SS_GRAYFRAME),BitOR($WS_EX_LAYERED,$WS_EX_MDICHILD),$handle)should it be $gui ?????at the top you could globalize two variablesGlobal $Left, $topthen in the functions you couldFunc up() $picPos = WinGetPos($pic) $Top = $Top -1 WinMove($pic,"",$picPos[0],$picPos[1]-1) EndFuncetc8)
sonicxtacy02 Posted November 20, 2006 Author Posted November 20, 2006 this seemd incorrect $gui=GUICreate("test transparentpic", 96, 96, 0+$offsetx, 60+$offsety) $pic=GUICreate("", 96, 96, $offsetx-1, 39+$offsety,BitOr($WS_POPUP,$SS_GRAYFRAME),BitOR($WS_EX_LAYERED,$WS_EX_MDICHILD),$handle) should it be $gui ????? at the top you could globalize two variables Global $Left, $top then in the functions you could Func up() $picPos = WinGetPos($pic) $Top = $Top -1 WinMove($pic,"",$picPos[0],$picPos[1]-1) EndFunc etc 8) Thank you that worked fine. And i want the $pic to work with $handle cause thats the program i need to find the location from. the script works fine as it stands.
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