* Convocatoria desde el formulario
*<Init>
Thisform.NewObject("lblShow","lblMousePos","ExtClases.vcx","",thisform.imgName)
* lblShow && puedes ser cualquier nombre, no es operativo
* ExtClases.vcx && biblioteca vcx que contiene lblMousePos
* thisform.imgName && referencia de objeto al Control Image en cuestión
*<Destroy>
thisform.removeObject("LblShow")
*<Library "ExtClases.vcx" (referencia a una biblioteca del usuario)
* Objeto Label
* Name lblMousePos
* Code by Foxbin2prg (Fernando D. Bozzo)
* pnTop y pnLeft dan la coordenada del mouse relativa al objeto.
*-----------------------------------------------------------------------------
DEFINE CLASS lblmousepos AS label
*< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" />
*<DefinedPropArrayMethod>
*m: be_mouseenter
*m: be_mouseleave
*m: be_mousemove
*p: objeto
*p: pnleft
*p: pntop
*</DefinedPropArrayMethod>
AutoSize = .T.
BackColor = 255,247,230
Caption = " 420 x 275 "
FontSize = 8
Height = 16
Name = "lblmousepos"
objeto = (null)
pnleft = 0
pntop = 0
Width = 62
PROCEDURE be_mouseenter
LPARAMETERS nButton, nShift, nXCoord, nYCoord
this.visible=.t.
ENDPROC
PROCEDURE be_mouseleave
LPARAMETERS nButton, nShift, nXCoord, nYCoord
this.visible=.f.
ENDPROC
PROCEDURE be_mousemove
LPARAMETERS nButton, nShift, nXCoord, nYCoord
WITH this
.pnTop=nxCoord-OBJTOCLIENT(this.objeto,2)
.pnLeft=nYCoord-OBJTOCLIENT(this.objeto,1)
.caption=" "+TRANSFORM(.pnLeft)+" x "+TRANSFORM(.pntop)
.top=nYCoord
.left=nXCoord
ENDWITH
ENDPROC
PROCEDURE Destroy
UNBINDEVENTS(this)
ENDPROC
PROCEDURE Init
LPARAMETERS toObjeto
this.objeto=toObjeto
lcName=toObjeto.Name
BINDEVENT(toObjeto,"MouseEnter",this,"be_mouseenter")
BINDEVENT(toObjeto,"MouseLeave",this,"be_mouseleave")
BINDEVENT(toobjeto,"MouseMove",this,"be_mousemove")
ENDPROC
ENDDEFINE