Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Conditional changing of Mouse Pointer on a Grid
Message
 
À
26/09/2005 12:15:36
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 8 SP1
OS:
Windows 2000 SP4
Network:
Windows 2000 Server
Database:
Visual FoxPro
Divers
Thread ID:
01046136
Message ID:
01053108
Vues:
9
time to move the replies to the top.

I ran both versions you offered, yet while the grids work/populate, the mousepointer remained a I-bar. I checked the presence of the icons (even the CTRFRAN one), so that's not the problem. Is there any other property settings that I'm missing?
Allen


>>>>>>Hi !
>>>>>>
>>>>>>I want to change the Mouse Pointer on a Grid, which are bases on some conditions.
>>>>>>
>>>>>>i.e
>>>>>> I'v a grid with 5 columns and there is some numeric values over there. I want to change the mouse pointer when I move my mouse on the '0' zero values.
>>>>>>
>>>>>>Thanks in advance
>>>>>>Ravi Mehrotra
>>>>>
>>>>>
>>>>>* add this into the grid class
>>>>>PROC Mousepointer_Access
>>>>> return nExpression
>>>>>
>>>>
>>>>Hi Fabio,
>>>>How does adding this procedure allow one to change the mousepointer? I'm hoping for the same solution. The difficulty I'm having is if the grid is not highlighted, the mousemove events don't trigger.
>>>>Allen
>>>
>>>This is a simple grid improvement without adding hundreds of things.
>>>
>>>Run this, and move the mouse over the grid rows, one by one,
>>>the mouse pointer change with a cyclic rule.
>>>
>>>PUBLIC oform1
>>>
>>>oform1=NEWOBJECT("form1")
>>>oform1.Show
>>>RETURN
>>>
>>>DEFINE CLASS form1 AS form
>>>	Height = 400
>>>	ADD OBJECT grid1 AS myGrid WITH ;
>>>		Height = 350, ;
>>>		Left = 34, ;
>>>		Top = 5, ;
>>>		Width = 320, ;
>>>		Name = "Grid1",;
>>>		MousePointer = 99 && with 99 customMousePointer is called,
>>>                                  && by default it is invariant and return 99
>>>
>>>	PROCEDURE Load
>>>		CREATE CURSOR XX1CB (F1 I,F2 V(40))
>>>		FOR N=100  TO 0 STEP -2
>>>			INSERT INTO (ALIAS()) (F1,F2) VALUES(m.n,'Item n°'+sTR(m.n))
>>>		ENDFOR
>>>		LOCATE
>>>	ENDPROC
>>>
>>>	PROCEDURE Grid1.customMousePointer(nWhere,nRelRow,nRelCol)
>>>		RETURN IIF(m.nWhere=3,m.nRelRow%17,0)  && put a mousepinter rule here
>>>ENDDEFINE
>>>
>>>
>>>DEFINE CLASS myGrid AS Grid
>>>
>>>   HIDDEN PROCEDURE MousePointer_Access
>>>      IF m.This.MousePointer = 99 && for a custom put a dynamic level
>>>	 LOCAL nWhere,nRelRow,nRelCol
>>>	#IF VERSION(5)<900
>>>	   =grid::GridHitTest(MCOL(m.thisform.name,3);
>>>                             ,MROW(m.thisform.name,3);
>>>			     ,@m.nWhere,@m.nRelRow)
>>>	#ELSE
>>>           =grid::GridHitTest(MCOL(0,3),MROW(0,3),@m.nWhere,@m.nRelRow,@m.nRelCol)
>>>	#ENDIF
>>>	RETURN this.customMousePointer(m.nWhere,m.nRelRow,m.nRelCol)
>>>      ENDIF
>>>      RETURN m.This.MousePointer
>>>ENDPROC
>>>	
>>>PROCEDURE customMousePointer(nWhere,nRelRow,nRelCol)
>>>   RETURN 99
>>>	
>>>ENDDEFINE
>>>
>>>
>>>This is a sample with MouseIcon dynamic:
>>>
>>>PUBLIC oform1
>>>
>>>oform1=NEWOBJECT("form1")
>>>oform1.Show
>>>RETURN
>>>
>>>DEFINE CLASS form1 AS form
>>>   Height = 400
>>>	
>>>   ADD OBJECT grid1 AS myGrid WITH ;
>>>	Height = 350, ;
>>>	Left = 34, ;
>>>	Top = 5, ;
>>>	Width = 320 ;
>>>	,MousePointer = 99 && WITH 99 customMousePointer is called, by default it return 99
>>>		
>>>   PROCEDURE Load
>>>	CREATE CURSOR XX1CB (F1 I,F2 V(40))
>>>	FOR N=100  TO 0 STEP -2
>>>		INSERT INTO (ALIAS()) (F1,F2) VALUES(m.n,'Item n°'+sTR(m.n))
>>>	ENDFOR
>>>	LOCATE
>>>ENDPROC
>>>
>>>PROCEDURE Grid1.customMousePointer(nWhere,nRelRow,nRelCol)
>>>	* change the pointer
>>>	this.MouseIcon = HOME(4);
>>>             +IIF(m.nRelRow%2=0,"Icons\Flags\CTRFRAN.ICO","Icons\Flags\CTRITALY.ICO")
>>>	RETURN 99
>>>ENDDEFINE
>>>
>>>DEFINE CLASS myGrid AS Grid
>>>
>>>  HIDDEN PROCEDURE MousePointer_Access
>>>	IF m.This.MousePointer = 99 && for a custom put a dynamic level
>>>		LOCAL nWhere,nRelRow,nRelCol
>>>		#IF VERSION(5)<900
>>>			=grid::GridHitTest(MCOL(m.thisform.name,3),MROW(m.thisform.name,3);
>>>				,@m.nWhere,@m.nRelRow,@m.nRelCol)
>>>		#ELSE
>>>			=grid::GridHitTest(MCOL(0,3);
>>>                                          ,MROW(0,3),@m.nWhere,@m.nRelRow,@m.nRelCol)
>>>		#ENDIF
>>>		RETURN this.customMousePointer(m.nWhere,m.nRelRow,m.nRelCol)
>>>	ENDIF
>>>	RETURN m.This.MousePointer
>>>   ENDPROC
>>>	
>>>   PROCEDURE customMousePointer(nWhere,nRelRow,nRelCol)
>>>      RETURN 99
>>>
>>>ENDDEFINE
>>>
>>
>>Thanks Fabio,
>>Good stuff you gave there. I'll give it a try.
>>I'll need to respectfully modify the "Icons\Flags\CTRITALY.ICO", however. :)
>>
>>Allen
>
>
>!!!!!!!!!! DON'T DO THIS !!!!!!!!!!!!!
>

>modify CTRFRAN.ICO :)
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform