Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
The missing mouse pointer
Message
From
11/03/2006 14:17:48
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01103072
Message ID:
01103442
Views:
13
Oh Oh - Thanks to you folks I was able to get the crosshairs up and running, only to find that my 1 gig CPU is too slow for the refresh to work as it should. The code works fine. I'll save it for my next machine. Hugo and Fred both have code that works fine, so I don't know who to give the stars to. Does it matter?

Grady


>>I have a form with a map on it. I want to create an animated mouse pointer. The pointer would be crosshairs from each edge of the form to the other and from top to bottom, much like the cursor used for drafting programs. Can this be done in VFP or will the redrawing of the lines as the cursor moves erase the map underneath? If it can be done, how?
>
>
>May be this helps you get started?
>
>
>PUBLIC oform1
>oform1=NEWOBJECT("form1")
>oform1.Show
>RETURN
>
>
>	**************************************************
>*-- Form:         form1 (x:\foxv\hugo\prog\testcrosshairs.scx)
>*-- ParentClass:  form
>*-- BaseClass:    form
>*-- Time Stamp:   03/10/06 04:06:01 PM
>*
>DEFINE CLASS form1 AS form
>
>
>	Top = 0
>	Left = 0
>	Height = 395
>	Width = 396
>	DoCreate = .T.
>	Caption = "Form1"
>	*-- XML Metadata for customizable properties
>	_memberdata = ""
>	Name = "Form1"
>
>
>	ADD OBJECT crosshaircontainer1 AS crosshaircontainer WITH ;
>		Top = 25, ;
>		Left = 63, ;
>		Width = 282, ;
>		Height = 172, ;
>		Name = "Crosshaircontainer1", ;
>		vLine.Name = "vLine", ;
>		hLine.Name = "hLine"
>
>
>	ADD OBJECT image1 AS image WITH ;
>		Anchor = 15, ;
>		Picture = "c:\program files\microsoft visual foxpro 9\graphics\metafiles\business\laptop1.wmf", ;
>		Stretch = 2, ;
>		Height = 264, ;
>		Left = 20, ;
>		Top = 45, ;
>		Width = 334, ;
>		Name = "Image1"
>
>	PROCEDURE Init
>		this.crosshaircontainer1.Top	= thisform.image1.Top
>		this.crosshaircontainer1.Left	= thisform.image1.Left
>		this.crosshaircontainer1.Width	= thisform.image1.Width
>		this.crosshaircontainer1.Height	= thisform.image1.Height
>		this.crosshaircontainer1.Anchor	= thisform.Image1.Anchor
>		this.crosshaircontainer1.ZOrder(0)
>	ENDPROC
>
>
>ENDDEFINE
>*
>*-- EndDefine: form1
>**************************************************
>
>**************************************************
>*-- Class:        crosshaircontainer (x:\foxv\hugo\prog\test.vcx)
>*-- ParentClass:  container
>*-- BaseClass:    container
>*-- Time Stamp:   03/10/06 04:06:14 PM
>*
>DEFINE CLASS crosshaircontainer AS container
>
>
>	Anchor = 0
>	Width = 200
>	Height = 200
>	BackStyle = 0
>	BorderWidth = 0
>	MousePointer = 2
>	*-- XML Metadata for customizable properties
>	_memberdata = ""
>	Name = "crosshaircontainer"
>
>
>	ADD OBJECT vline AS line WITH ;
>		DrawMode = 5, ;
>		Enabled = .F., ;
>		Height = 100, ;
>		Left = 98, ;
>		MousePointer = 99, ;
>		Top = 3, ;
>		Visible = .F., ;
>		Width = 0, ;
>		BorderColor = RGB(128,128,128), ;
>		Name = "vLine"
>
>
>	ADD OBJECT hline AS line WITH ;
>		DrawMode = 5, ;
>		Enabled = .F., ;
>		Height = 0, ;
>		Left = 30, ;
>		MousePointer = 99, ;
>		Top = 43, ;
>		Visible = .F., ;
>		Width = 127, ;
>		BorderColor = RGB(128,128,128), ;
>		Name = "hLine"
>
>
>	PROCEDURE MouseLeave
>		LPARAMETERS nButton, nShift, nXCoord, nYCoord
>
>		with this
>			.vLine.Visible		= .F.
>			.hLine.Visible		= .F.
>		endwith
>
>		Dodefault(nButton, nShift, nXCoord, nYCoord)
>	ENDPROC
>
>
>	PROCEDURE MouseEnter
>		LPARAMETERS nButton, nShift, nXCoord, nYCoord
>
>		with this
>			with .vLine
>				.Height					= this.Height
>				.Width					= 0
>				.Left					= nXCoord - Objtoclient(this, 2)
>				.Visible				= .T.
>			endwith
>			with .hLine
>				.Left					= 0
>				.Width					= this.Width
>				.Top					= nYCoord - Objtoclient(this, 1)
>				.Visible				= .T.
>			endwith
>		endwith
>
>		Dodefault(nButton, nShift, nXCoord, nYCoord)
>	ENDPROC
>
>
>	PROCEDURE MouseMove
>		LPARAMETERS nButton, nShift, nXCoord, nYCoord
>
>		with this
>			.vLine.Left				= nXCoord - Objtoclient(this, 2)
>			.hLine.Top				= nYCoord - Objtoclient(this, 1)
>		endwith
>
>		Dodefault(nButton, nShift, nXCoord, nYCoord)
>	ENDPROC
>
>
>ENDDEFINE
>*
>*-- EndDefine: crosshaircontainer
>**************************************************
>
I ain't skeert of nuttin eh?
Yikes! What was that?
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform