>************************************************** >*-- Class: grdtxtfld >*-- ParentClass: textbox >*-- BaseClass: textbox >*-- Time Stamp: 02/12/09 02:31:02 PM >* >DEFINE CLASS grdtxtfld AS textbox > > > BorderStyle = 0 > Height = 23 > Margin = 0 > MousePointer = 1 > SpecialEffect = 1 > Width = 100 > Name = "grdtxtfld" > > > PROCEDURE RightClick > THIS.PARENT.PARENT.RIGHTCLICK() > ENDPROC > > > PROCEDURE KeyPress > LPARAMETERS nKeyCode, nShiftAltCtrl > > IF nKeyCode = 13 > THIS.PARENT.PARENT.DBLCLICK() > ENDIF > ENDPROC > > > PROCEDURE Click > THIS.PARENT.PARENT.CLICK() > ENDPROC > > > PROCEDURE DblClick > THIS.PARENT.PARENT.DBLCLICK() > ENDPROC > > > PROCEDURE MouseDown > LPARAMETERS nButton, nShift, nXCoord, nYCoord > > THIS.PARENT.PARENT.MOUSEDOWN(nButton,nShift,nXCoord,nYCoord) > ENDPROC > > >ENDDEFINE >* >*-- EndDefine: grdtxtfld >************************************************** > >************************************************** >*-- Class: grdtxtfldtooltip >*-- ParentClass: grdtxtfld >*-- BaseClass: textbox >*-- Time Stamp: 02/17/09 12:55:03 PM >* >DEFINE CLASS grdtxtfldtooltip AS grdtxtfld > > > lshowcontentsastip = .T. > cdynamictooltipmethod = "" > Name = "grdtxtfldtooltip" > > > PROCEDURE tooltiptext_access > LOCAL loGrid AS GRID, lcDBF AS STRING, lcFld AS STRING, lnRecNum AS INTEGER > LOCAL lnX AS INTEGER, lnY AS INTEGER, lcTipText AS STRING > LOCAL lcDynamicToolTipMethod AS STRING > PRIVATE lnWhere AS INTEGER, lnRelRow AS INTEGER, lnRelCol AS INTEGER > > LOCAL ARRAY aMouseInfo[1] > > lcTipText = THIS.TOOLTIPTEXT && Default to the currently assigned ToolTip Text > DO CASE && Determine the Requested type of tip > CASE THIS.lShowContentsAsTip && If Text Box contents, return Value property > lcTipText = TRANSFORM(THIS.VALUE) > CASE !(EMPTY(THIS.cDynamicToolTipMethod)) && If there is a DynamicToolTipMethod value > loGrid = THIS.PARENT.PARENT && Determine all the required paramaeters to > lcDBF = JUSTSTEM(THIS.CONTROLSOURCE) && pass to that method > lcFld = JUSTEXT(THIS.CONTROLSOURCE) > lnRecNum = RECNO(JUSTSTEM(THIS.CONTROLSOURCE)) > > AMOUSEOBJ(aMouseInfo,1) && Determine Mouse position with AMOUSEOBJ > lnX = aMouseInfo[3] && required for the call to GridHitTest > lnY = aMouseInfo[4] > > STORE 0 TO lnWhere, lnRelRow, lnRelCol && GridHitTest will determine Relative Row\Column > loGrid.GRIDHITTEST(lnX, lnY, @lnWhere, @lnRelRow, @lnRelCol) > > lcDynamicToolTipMethod = CHRTRAN(THIS.cDynamicToolTipMethod,"()","") && Formate command str for evaluation > *!* Parameters needed for the call to the DynamicToolTipMethod > *!* vcDBF as String, vcFld as String, vnRecNum as Integer, vnRelCol as Integer > *!* Sample Return Statement > *!* RETURN "DBF: " + vcDBF + " Field: " + vcFld + " Record #: " + ; > *!* TRANSFORM(vnRecNum) + " Relative Column: " + TRANSFORM(vnRelCol) > > lcCmd = lcDynamicToolTipMethod + [("] + lcDBF + [","] + ; > lcFld + [",] + TRANSFORM(lnRecNum) + [,] + TRANSFORM(lnRelCol) + [)] > > TRY && Use Try Catch to avoid errors > lcTipText = EVALUATE(lcCmd) > CATCH TO loException > lcTipText = loException.MESSAGE > ENDTRY > OTHERWISE > * ToolTip Text is origianl ToolTip of control > ENDCASE > > RETURN lcTipText > ENDPROC > > >ENDDEFINE >* >*-- EndDefine: grdtxtfldtooltip >************************************************** > >>