>LPARAMETERS nButton, nShift, nXCoord, nYCoord > >THISFORM.LockScreen = .T. > >LOCAL ; > nXCoord_In, ; > nYCoord_In, ; > lnColno, ; > lnDiff, ; > loGrid, ; > nWhere_Out, ; > nRelRow_Out, ; > nRelCol_Out, ; > nView_Out, ; > CurrentRecNo > >WITH THIS > > * Remember the current record > CurrentRecNo = RECNO((.RECORDSOURCE)) > SCATTER NAME oCurrentRecord > > * find out what row we're over > nXCoord_In = MCOL(WONTOP(),3) > nYCoord_In = MROW(WONTOP(),3) > STORE 0 TO nWhere_Out , nRelRow_Out , nRelCol_Out , nView_Out > .GRIDHITTEST(nXCoord_In, nYCoord_In, @nWhere_Out, @nRelRow_Out, @nRelCol_Out) > > IF nWhere_Out = 3 AND nRelRow_Out # .DynamicToolTipRow > > >* SET STEP ON > > >* WAIT WINDOW TRANSFORM(nRelRow_Out) + ' ' + TRANSFORM(nRelCol_Out) NOWAIT > > * temporarily activate first cell, so that .RelativeRow makes sense > lnColno = .COLUMNS(nRelCol_Out).COLUMNORDER > lnColno = lnColno + IIF(.COLUMNS(nRelCol_Out).COLUMNORDER = lnColno, 1, 0) - .LOCKCOLUMNS > IF .RELATIVEROW = 0 OR .RELATIVECOLUMN # lnColno > .SETFOCUS() > .ACTIVATECELL(MAX(1, .RELATIVEROW), lnColno) > ENDIF > > * move to the record we're interested in > lnDiff = nRelRow_Out - .RELATIVEROW > > TRY > SKIP (lnDiff) IN (.RECORDSOURCE) > CATCH > > ENDTRY > > ******************************************************* > >* IF RECNO() = CurrentRecNo > WAIT WINDOW 'Record Number: ' + TRANSFORM(RECNO()) NOWAIT >* THISFORM.oPopUpInfoForm.zOrder(0) >* THISFORM.oPopUpInfoForm.AutoCenter = .T. >* THISFORM.oPopUpInfoForm.Visible = .T. >* ENDIF > > THISFORM.lblRemCode.Caption = TRANSFORM(oCurrentRecord.Rem_Code) > THISFORM.lblRemCode.Refresh > THISFORM.lblRemDesc.Caption = TRANSFORM(oCurrentRecord.Rem_Desc) > THISFORM.lblRemDesc.Refresh > THISFORM.lblSchColor.Caption = TRANSFORM(oCurrentRecord.Sch_Color) > THISFORM.lblSchColor.Refresh > > ******************************************************* > > SKIP (-lnDiff) IN (.RECORDSOURCE) > .DynamicToolTipRow = nRelRow_Out > > ENDIF > .DynamicToolTipRow = 0 >ENDWITH > >m.CurrentMousePointer = THISFORM.MousePointer >m.TimerPause = DATETIME() + .25 >DO WHILE DATETIME() < m.TimerPause > THISFORM.MousePointer = 1 >ENDDO >THISFORM.MousePointer = m.CurrentMousePointer > >THISFORM.LockScreen = .F. > >RETURN .T. >