Date: 07-21-2011
Return to Index
created by gbSnippets
'Sometimes you need to know which application (dialog) is at a point, most often
'associated with the position of the cursor. The WindowFromPoint function
'does the trick.
'Primary Code:
x = 500 : y = 500
hDlg = WindowFromPoint( x,y )
'Compilable Example:
'This examples uses a timer to repeatedly check which window is under the
'cursor. The cursor can be anywhere on the screen.
#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
Local P as Point, hTemp as DWord
GetCursorPos P 'p.x and p.y are in screen coordinates
hTemp = WindowFromPoint ( p.x, p.y )
If hTemp = hDlg Then
Control Set Text hDlg, 100, "Over myapp"
Else
Control Set Text hDlg, 100, "NOT over myapp"
End If
End Select
End Function
'gbs_00033
http://www.garybeene.com/sw/gbsnippets.htm