StPendl
Jan 2, 2011
- "simplified page"
**//<span style="FONT-SIZE: 36pt; FONT-FAMILY: 'Monotype Corsiva'"><span style="COLOR: #ffb500; msoSpacerun: yes">Changing**//Changing the cursor's position//** **//By Daniel49 //** You can add a little more help for the user by setting the cursor’s position at will in a Liberty Basic program. This function can be used in tutorials and guides. Now, you’re probably wondering how the heck you can do this! Well, it is pretty simple. First, open the window: [[code format="lb"]] 'This example demonstrates how to use user32 to set the ‘cursor at a given position 'It is a function that may come in useful in tutorial and ‘guided tours 'Use at will 'Open the window button #main.exit, "Push Me!", [push], UL, 10, 10 open "An Example" for window as #main [[code]] Ok, now that our window is opened, lets declare our two variables; X and Y (yes it’s that simple) [[code format="lb"]] 'set the cursor position variables x = 500 y = 500 wait [[code]] Now, to make our program interesting, we will make a simple Do Loop with a timer to move the cursor slowly (and not instantly). [[code format="lb"]] [push] 'Set the timer do timer 1, [moveCursor] wait [moveCursor] [[code]] We’ve arrived to the fun part. Now, we will make the simple API call (user32) that will change the position of our cursor. [[code format="lb"]] x = x - 1 y = y - 1 calldll #user32, "SetCursorPos", _ x as short, _ 'define x position y as long, _ 'define y position result as long [[code]] Finally, lets end the program and the loop. [[code format="lb"]] loop while (x > 250) and (y > 250) timer 0 'CLOSE the Program close #main end [[code]] Here’s our demo: [[code format="lb"]] 'This example demonstrates how to use user32 to set the ‘cursor at a given position 'It is a function that may come in useful in tutorial and ‘guided tours 'Use at will 'Open the window button #main.exit, "Push Me!", [push], UL, 10, 10 open "An Example" for window as #main 'set the cursor position variables x = 500 y = 500 wait [push] 'Set the timer do timer 1, [moveCursor] wait [moveCursor] x = x - 1 y = y - 1 calldll #user32, "SetCursorPos", _ x as short, _ 'define x position y as long, _ 'define y position result as Boolean loop while (x > 250) and (y > 250) timer 0 'CLOSE the Program close #main end [[code]]</span></span>//****//<span style="FONT-SIZE: 28pt; FONT-FAMILY: 'Monotype Corsiva'">By Daniel49 </span>//** <span style="FONT-SIZE: 16pt"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman">You can add a little more help for the user by setting the cursor’s position at will in a Liberty Basic program. This function can be used in tutorials and guides. Now, you’re probably wondering how the heck you can do this!<span style="mso-spacerun: yes"> </span>Well, it is pretty simple. </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman">First, open the window: </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'This example demonstrates how to use user32 to set the ‘cursor at a given position </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'It is a function that may come in useful in tutorial and ‘guided tours </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'Use at will </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'Open the window </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">button</span><span style="FONT-SIZE: 18pt"> #main.exit, <span style="COLOR: green">"Push Me!",</span> [push], <span style="COLOR: #3366ff">UL</span>, <span style="COLOR: red">10</span>, <span style="COLOR: red">10</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">open</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: green">"An Example"</span> <span style="COLOR: blue">for</span> <span style="COLOR: teal">window</span> <span style="COLOR: blue">as</span> #main </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman">Ok, now that our window is opened, lets declare our two variables; X and Y (yes it’s that simple) </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'set the cursor position variables </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: teal">x</span><span style="FONT-SIZE: 18pt"> = <span style="COLOR: red">500</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: teal">y</span><span style="FONT-SIZE: 18pt"> = <span style="COLOR: red">500</span> </span></span> <span style="FONT-SIZE: 18pt; COLOR: blue"><span style="font-family: Times New Roman">wait </span></span> <span style="FONT-SIZE: 18pt; COLOR: blue"><span style="font-family: Times New Roman"> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt">Now, to make our program interesting, we will make a simple Do Loop with a timer to move the cursor slowly (and not instantly).</span> </span> <span style="font-family: Times New Roman"> </span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman">[push] </span></span> <span style="FONT-SIZE: 18pt; COLOR: gray"><span style="font-family: Times New Roman">'Set the timer </span></span> <span style="FONT-SIZE: 18pt; COLOR: blue"><span style="font-family: Times New Roman">do </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">timer</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: red">1</span>, [moveCursor] </span></span> <span style="FONT-SIZE: 18pt; COLOR: blue"><span style="font-family: Times New Roman">wait </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman">[moveCursor] </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman">We’ve arrived to the fun part. Now, we will make the simple API call (user32) that will change the position of our cursor. </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman"> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: teal; mso-ansi-language: FR-CA">x</span><span style="FONT-SIZE: 18pt; mso-ansi-language: FR-CA"> = <span style="COLOR: teal">x</span> - <span style="COLOR: red">1</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: teal; mso-ansi-language: FR-CA">y</span><span style="FONT-SIZE: 18pt; mso-ansi-language: FR-CA"> = <span style="COLOR: teal">y</span> - <span style="COLOR: red">1</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">calldll</span><span style="FONT-SIZE: 18pt"> #user32, <span style="COLOR: green">"SetCursorPos</span>", _ </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: #339966">x</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: blue">as</span> <span style="COLOR: #339966">short</span>, _ <span style="COLOR: #999999">'define x position</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: #339966">y</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: blue">as</span> <span style="COLOR: #339966">long</span>, _ <span style="COLOR: #999999">'define y position</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: #339966">result </span><span style="FONT-SIZE: 18pt; COLOR: blue">as</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: #339966">Boolean </span></span></span> <span style="FONT-SIZE: 18pt; COLOR: #339966"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman">Finally, lets end the program and the loop. </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman"> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">loop while</span><span style="FONT-SIZE: 18pt; COLOR: black"> (</span><span style="FONT-SIZE: 18pt; COLOR: #339966">x</span><span style="FONT-SIZE: 18pt; COLOR: black"> > </span><span style="FONT-SIZE: 18pt; COLOR: red">250</span><span style="FONT-SIZE: 18pt; COLOR: black">) </span><span style="FONT-SIZE: 18pt; COLOR: blue">and</span><span style="FONT-SIZE: 18pt; COLOR: black"> (</span><span style="FONT-SIZE: 18pt; COLOR: #339966">y</span><span style="FONT-SIZE: 18pt; COLOR: black"> > </span><span style="FONT-SIZE: 18pt; COLOR: red">250</span><span style="FONT-SIZE: 18pt; COLOR: black">) </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">timer</span><span style="FONT-SIZE: 18pt; COLOR: black"> </span><span style="FONT-SIZE: 18pt; COLOR: red">0</span><span style="FONT-SIZE: 18pt; COLOR: black"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman">'CLOSE the Program </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">close</span><span style="FONT-SIZE: 18pt; COLOR: black"> #main </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">end</span><span style="FONT-SIZE: 18pt; COLOR: black"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman">Here’s our demo: </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'This example demonstrates how to use user32 to set the ‘cursor at a given position </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'It is a function that may come in useful in tutorial and ‘guided tours </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'Use at will </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'Open the window </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">button</span><span style="FONT-SIZE: 18pt"> #main.exit, <span style="COLOR: green">"Push Me!",</span> [push], <span style="COLOR: #3366ff">UL</span>, <span style="COLOR: red">10</span>, <span style="COLOR: red">10</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">open</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: green">"An Example"</span> <span style="COLOR: blue">for</span> <span style="COLOR: teal">window</span> <span style="COLOR: blue">as</span> #main </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: #999999"><span style="font-family: Times New Roman">'set the cursor position variables </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: teal">x</span><span style="FONT-SIZE: 18pt"> = <span style="COLOR: red">500</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: teal">y</span><span style="FONT-SIZE: 18pt"> = <span style="COLOR: red">500</span> </span></span> <span style="FONT-SIZE: 18pt; COLOR: blue"><span style="font-family: Times New Roman">wait </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman">[push] </span></span> <span style="FONT-SIZE: 18pt; COLOR: gray"><span style="font-family: Times New Roman">'Set the timer </span></span> <span style="FONT-SIZE: 18pt; COLOR: blue"><span style="font-family: Times New Roman">do </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">timer</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: red">1</span>, [moveCursor] </span></span> <span style="FONT-SIZE: 18pt; COLOR: blue"><span style="font-family: Times New Roman">wait </span></span> <span style="FONT-SIZE: 18pt"><span style="font-family: Times New Roman">[moveCursor] </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: teal; mso-ansi-language: FR-CA">x</span><span style="FONT-SIZE: 18pt; mso-ansi-language: FR-CA"> = <span style="COLOR: teal">x</span> - <span style="COLOR: red">1</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: teal; mso-ansi-language: FR-CA">y</span><span style="FONT-SIZE: 18pt; mso-ansi-language: FR-CA"> = <span style="COLOR: teal">y</span> - <span style="COLOR: red">1</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue; mso-ansi-language: FR-CA">calldll</span><span style="FONT-SIZE: 18pt; mso-ansi-language: FR-CA"> #user32, <span style="COLOR: green">"SetCursorPos</span>", _ </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: #339966">x</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: blue">as</span> <span style="COLOR: #339966">short</span>, _ <span style="COLOR: #999999">'define x position</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: #339966">y</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: blue">as</span> <span style="COLOR: #339966">long</span>, _ <span style="COLOR: #999999">'define y position</span> </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: #339966">result </span><span style="FONT-SIZE: 18pt; COLOR: blue">as</span><span style="FONT-SIZE: 18pt"> <span style="COLOR: #339966">Boolean </span></span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">loop while</span><span style="FONT-SIZE: 18pt; COLOR: black"> (</span><span style="FONT-SIZE: 18pt; COLOR: #339966">x</span><span style="FONT-SIZE: 18pt; COLOR: black"> > </span><span style="FONT-SIZE: 18pt; COLOR: red">250</span><span style="FONT-SIZE: 18pt; COLOR: black">) </span><span style="FONT-SIZE: 18pt; COLOR: blue">and</span><span style="FONT-SIZE: 18pt; COLOR: black"> (</span><span style="FONT-SIZE: 18pt; COLOR: #339966">y</span><span style="FONT-SIZE: 18pt; COLOR: black"> > </span><span style="FONT-SIZE: 18pt; COLOR: red">250</span><span style="FONT-SIZE: 18pt; COLOR: black">) </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">timer</span><span style="FONT-SIZE: 18pt; COLOR: black"> </span><span style="FONT-SIZE: 18pt; COLOR: red">0</span><span style="FONT-SIZE: 18pt; COLOR: black"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman"> </span></span> <span style="FONT-SIZE: 18pt; COLOR: black"><span style="font-family: Times New Roman">'CLOSE the Program </span></span> <span style="font-family: Times New Roman"><span style="FONT-SIZE: 18pt; COLOR: blue">close</span><span style="FONT-SIZE: 18pt; COLOR: black"> #main </span></span> <span style="FONT-SIZE: 18pt; COLOR: blue"><span style="font-family: Times New Roman">end</span></span><span style="FONT-SIZE: 18pt; COLOR: black"> </span>