ScreenToClient

Category: API Functions

Date: 03-28-2012

Return to Index


 
'Converts the screen coordinates of a specified point on the screen to client coordinates.
'If coordinates outside the client
'Primary Code:
Dim P as Point
GetCursorPos P            'p.x and p.y are in screen coordinates
ScreenToClient hDlg, P  'p.x and p.y are now dialog client coordinates
 
'Compilable Example:
'This examples uses a timer to put dialog client coordinates in a label control
'The cursor can be anywhere on the screen.
#Compiler PBWin 9, PBWin 10
#Compile EXE
#Dim All
#Include "Win32API.inc"
Global hDlg As Dword
 
Function PBMain() As Long
   Dialog New Pixels, 0, "Test Code",300,300,200,200, %WS_OverlappedWindow To hDlg
   Control Add Label, hDlg, 100,"", 50,10,100,20
   SetTimer(hDlg, 200, 50, 0)    'creates the timer  200ms
   Dialog Show Modal hDlg Call DlgProc
End Function
 
CallBack Function DlgProc() As Long
   Select Case CB.Msg
      Case %WM_Timer
         Dim P as Point
         GetCursorPos P    'p.x and p.y are in screen coordinates
         ScreenToClient hDlg, P  'p.x and p.y are now dialog client coordinates
         Control Set Text hDlg, 100, "X:Y " + Str$(p.x) + ":" + Str$(p.y)
   End Select
End Function
 
'gbs_00029
'Date: 03-10-2012


created by gbSnippets
http://www.garybeene.com/sw/gbsnippets.htm