Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Record pointer in grid without focus
Message
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
00044481
Message ID:
00044829
Views:
41
>>>We're getting closer, I think. I made a form property gridcurrec, which I hope might have wide scope. My expression in .DynamicBackColor is recno()=THISFORM.gridcurrec. Somewhere, I need to put THISFORM.gridcurrec = recno('gridalias'). Grids don't have a .lostfocus event, and I think the controls inside the grid will think all RECNO()s in the grid are RECNO(), if you know what I mean.
>>
>>As Edward says, use AfterRowColChange. Here's some more complete code (now that I have time)...this will use whatever selection colors the user has set.
>>
>>*cursor/table is selected
>>*rgbColorB & F are user's default selected colors picked up from a textbox.
>>*The empty string says to do nothing (use your grid/column colors) if IIF is .F.
>>
>>nRec = recno()
>>this.SetAll("DynamicBackColor",;
>>"IIF(recno()=nRec,rgbColorB,'')","Column")
>>this.SetAll("DynamicForeColor",;
>>"IIF(recno()=nRec,rgbColorF,'')","Column")
>>this.refresh
>>
>>
>>You can call this from outside grid as needed...
>When I tried your code I got an "Expression is invalid. Use a valid expression for DynamicForeColor property" and a similar one for DynamicBackColor. Since I use vfp3 and could find no documentation for rgbColorF and B, I replaced them with rgb(50,50,50) and rgb(150,150,150). Same error. What's its problem?

Bret, I tested this on my VFP3, and it works (colors are a bit off). The first section of code (with the SETALL() calls) goes in the form init. The second section into the AfterRowColChange. The only other item is a form property I called CURREC, which holds the present record. You may wish to add a "SELECT GridCursor" or use recno('gridcursor')
FORM INIT code
this.currec = recno()

thisform.grid1.SetAll("DynamicBackColor",;
 "IIF(recno()=thisform.Currec,rgb(0,0,128),rgb(255,255,255))","Column") 

 thisform.grid1.SetAll("DynamicForeColor",;
 "IIF(recno()=thisform.currec,rgb(255,255,255), rgb(0,0,0))","Column") 

 thisform.grid1.refresh

END OF INIT CODE


GRID AFTERROWCOLCHANGE code
LPARAMETERS nColIndex

thisform.Currec = recno()
this.refresh

END OF AFTERROWCOLCHANGE code
HTH
Barbara
Barbara Paltiel, Paltiel Inc.
Previous
Reply
Map
View

Click here to load this message in the networking platform