>> >>DECLARE Sleep IN kernel32 integer >> >>* Form::Init >>Thisform.AddObject("Proxy",CREATEOBJECT("_ColumnProxy")) >>This.Proxy.oCol=This.Grid.Column1 && >> >>BINDEVENT(This.Grid.Column1,"MouseLeave",This.Proxy,"MouseLeave") >>BINDEVENT(This.Grid.Column1,"MouseEnter",This.Proxy,"MouseEnter") >>BINDEVENT(This.Grid.Column1.Header1,"MouseLeave",This.Proxy,"MouseLeave") >>BINDEVENT(This.Grid.Column1.Header1,"MouseEnter",This.Proxy,"MouseEnter") >> >>ADDPROPERTY(This.Grid.Column1,"ToolTipSource","") >> >>* form:QueryUnload >>This.Proxy.oCol=.NULL. >> >> >>DEFINE CLASS _ColumnProxy AS CUSTOM >> Name="_ColumnProxy" >> oCol=.NULL. >> >> PROCEDURE MouseLeave(nButton, nShift, nXCoord, nYCoord) >> LOCAL lcCur,llST >> This.oCol.Parent.ToolTipText= "" >> lcCur=SET("CURSOR") >> SET CURSOR OFF >> llST=_Screen.ActiveForm.ShowTips >> _Screen.ActiveForm.ShowTips= .F. && now turn off currently displayed tip >> =Sleep(100) >> _Screen.ActiveForm.ShowTips= llST >> SET CURSOR &lcCur. >> ENDPROC >> >> PROCEDURE MouseEnter(nButton, nShift, nXCoord, nYCoord) >> IF EMPTY(This.oCol.ToolTipSource) >> This.oCol.Parent.ToolTipText= This.oCol.ToolTipText >> ELSE >> This.oCol.Parent.ToolTipText= EVALUATE("This.oCol."+This.oCol.ToolTipSource+".ToolTipText") >> ENDIF >> ENDPROC >> >>ENDDEFINE >>>>
>>>>>>* Add this to the Column.MouseLeave event >>>>>>LOCAL lcCur,llST >>>>>>This.Parent.ToolTipText= "" >>>>>>lcCur=SET("CURSOR") >>>>>>SET CURSOR OFF >>>>>>llST=Thisform.ShowTips >>>>>>Thisform.ShowTips= .F. && now turn off currently displayed tip >>>>>>INKEY(.1) >>>>>>Thisform.ShowTips= llST >>>>>>SET CURSOR &lcCur. >>>>>> >>>>>>* Add this to the Column.MouseEnter event, (as Andreas provided). >>>>>>IF EMPTY(This.ToolTipSource) >>>>>> This.Parent.ToolTipText= This.ToolTipText >>>>>>ELSE >>>>>> This.Parent.ToolTipText= EVALUATE("This."+This.ToolTipSource+".ToolTipText") >>>>>>ENDIF >>>>>> >>>>>>* Add this to the object/class Header.MouseLeave event >>>>>>This.Parent.MouseLeave(nButton, nShift, nXCoord, nYCoord) >>>>>> >>>>>>* Add this to the object/class Header.MouseEnter event >>>>>>This.Parent.MouseEnter(nButton, nShift, nXCoord, nYCoord) >>>>>> >>>>>>