mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-31 10:00:16 +00:00
69 lines
3 KiB
Text
69 lines
3 KiB
Text
{{DISPLAYTITLE:_SCREENMOVE}}
|
|
The [[_SCREENMOVE]] statement positions the program window on the desktop using designated coordinates.
|
|
|
|
|
|
{{PageSyntax}}
|
|
: [[_SCREENMOVE]] {{{Parameter|column&}}, {{Parameter|row&}}|_MIDDLE}
|
|
|
|
|
|
{{Parameters}}
|
|
* Positions the program window on the desktop using the {{Parameter|column&}} and {{Parameter|row&}} pixel coordinates for the upper left corner.
|
|
* '''_MIDDLE''' can be used instead to automatically center the program window on the desktop, in any screen resolution.
|
|
|
|
|
|
{{PageDescription}}
|
|
* The program's [[SCREEN]] dimensions may influence the desktop position that can be used to keep the entire window on the screen.
|
|
* Use [[_DESKTOPWIDTH]] and [[_DESKTOPHEIGHT]] to find the current desktop resolution to place the program's window.
|
|
* On dual monitors a negative {{Parameter|column&}} position or a value greater than the main screen width can be used to position a window in another monitor.
|
|
* '''A small delay may be necessary when a program first starts up to properly orient the screen on the desktop properly.''' See [[_SCREENEXISTS]].
|
|
* '''[[Keywords_currently_not_supported_by_QB64#Keywords_Not_Supported_in_Linux_or_MAC_OSX_versions|Keyword not supported in Linux or MAC versions]]'''
|
|
|
|
|
|
{{PageExamples}}
|
|
''Example 1:'' Calculating the border and header offsets by comparing a coordinate move with _MIDDLE by using trial and error.
|
|
{{CodeStart}}
|
|
userwidth& = {{Cl|_DESKTOPWIDTH}}: userheight& = {{Cl|_DESKTOPHEIGHT}} 'get current screen resolution
|
|
{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}(800, 600, 256)
|
|
scrnwidth& = {{Cl|_WIDTH}}: scrnheight& = {{Cl|_HEIGHT}} 'get the dimensions of the program screen
|
|
|
|
{{Cl|_SCREENMOVE}} (userwidth& \ 2 - scrnwidth& \ 2) - 3, (userheight& \ 2 - scrnheight& \ 2) - 29
|
|
{{Cl|_DELAY}} 4
|
|
{{Cl|_SCREENMOVE}} _MIDDLE 'check centering
|
|
|
|
{{Cl|END}} '' ''
|
|
{{CodeEnd}}
|
|
: When positioning the window, offset the position by -3 columns and - 29 rows to calculate the top left corner coordinate.
|
|
|
|
|
|
''Example 2:'' Moving a program window to a second monitor positioned to the right of the main desktop.
|
|
{{CodeStart}}
|
|
wide& = {{Cl|_DESKTOPWIDTH}}
|
|
high& = {{Cl|_DESKTOPHEIGHT}}
|
|
|
|
{{Cl|PRINT}} wide&; "X"; high&
|
|
|
|
{{Cl|_DELAY}} 4
|
|
{{Cl|_SCREENMOVE}} wide& + 200, 200 'positive value for right monitor 2
|
|
|
|
img2& = {{Cl|_SCREENIMAGE}}
|
|
wide2& = {{Cl|_WIDTH (function)|_WIDTH}}(img2&)
|
|
high2& = {{Cl|_HEIGHT}}(img2&)
|
|
{{Cl|PRINT}} wide2&; "X"; high2&
|
|
{{Cl|_DELAY}} 4
|
|
{{Cl|_SCREENMOVE}} {{Cl|_SCREENMOVE|_MIDDLE}} 'moves program back to main monitor 1 '' ''
|
|
{{CodeEnd}}
|
|
: ''Notes:'' Change the [[_SCREENMOVE]] column to negative for a left monitor.
|
|
|
|
<center>'''[[_FULLSCREEN]] works in the primary monitor and may push all running programs to a monitor on the right.'''</center>
|
|
|
|
|
|
{{PageSeeAlso}}
|
|
* [[_SCREENX]], [[_SCREENY]]
|
|
* [[_SCREENIMAGE]], [[_DESKTOPWIDTH]], [[_DESKTOPHEIGHT]]
|
|
* [[_SCREENPRINT]]
|
|
* [[_SCREENEXISTS]]
|
|
* [[_NEWIMAGE]], [[SCREEN (statement)]]
|
|
|
|
|
|
|
|
{{PageNavigation}}
|