Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Detecting click
Message
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Title:
Environment versions
Visual FoxPro:
VFP 9
Miscellaneous
Thread ID:
01056882
Message ID:
01056907
Views:
21
I will try it!

You shoud write a book "VFP and Windows API"

>This VFP9 code uses BINDEVENT to detect left mouse button down event outside of the modal form:
>
>obj = CREATEOBJECT("Tform")
>obj.Show(1)
>
>DEFINE CLASS Tform As Form
>#DEFINE WM_LBUTTONDOWN 0x0201
>#DEFINE GWL_WNDPROC -4
>PROTECTED hOrigProc, hWindow
>	hOrigProc=0
>	hWindow=0>	Width=500
>	Height=300
>	Caption="Modal Form"
>	AutoCenter=.T.
>
>PROCEDURE Activate
>	IF THIS.hWindow = 0
>		DECLARE INTEGER GetWindowLong IN user32;
>			INTEGER hWindow, INTEGER nIndex
>		THIS.hWindow = _screen.HWnd
>		THIS.hOrigProc = GetWindowLong(THIS.hWindow, GWL_WNDPROC)
>		= BINDEVENT(THIS.hWindow, WM_LBUTTONDOWN, THIS, "OnMouseDown")
>	ENDIF
>
>PROCEDURE OnMouseDown(hWindow as Integer,;
>	nMsgID as Integer, wParam as Integer, lParam as Integer)
>
>	LOCAL nReturn
>	nReturn=0
>	
>	DO CASE
>	CASE nMsgID=WM_LBUTTONDOWN
>		LOCAL nX, nY
>		nX = BITAND(lParam, 0x0000ffff)
>		nY = BITRSHIFT(BITAND(lParam, 0xffff0000),16)
>		ACTIVATE SCREEN
>		? nX, nY
>		
>	OTHERWISE
>	* pass control to the original window procedure
>		nReturn = CallWindowProc(THIS.hOrigProc, THIS.hWindow,;
>			m.nMsgID, m.wParam, m.lParam)
>	ENDCASE
>RETURN nReturn
>
>ENDDEFINE
>
Dominican Republic, a Paradise in America
Previous
Reply
Map
View

Click here to load this message in the networking platform