Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Drilling Down to Objects
Message
From
19/10/2001 15:10:39
Dragan Nedeljkovich (Online)
Now officially retired
Zrenjanin, Serbia
 
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
00570451
Message ID:
00571077
Views:
58
>Thanks for clearing up the my misconception and the code.

Actually, I've long ago posted a builder here in the files )http://www.levelextreme.com/wconnect/wc.dll?FournierTransformation~?2,54,Forum=5,28,1056) which will rearrange the instantiation order your objects in the tab order, but that's still unreliable - the next time you add or remove an object, or change the tab order, you'll have to reapply it.

A far easier way around this would be to return -1 from an object's Valid(), and that would set focus to the previous (in tab order) object.

Another way, more difficult, would be to have a form-level array property which would hold references to all objects which can receive focus, ordered by their tab orders. It goes several levels deep if needed, and I'm building this array in form's init. The array has two columns - one is the object reference, and the other is a sortable key for tab order. The sortable key is actually a four-digit hex representation of the tab order, and for members of containers (i.e. containers, pages, button groups, grids etc) it's the parent tab order plus the tab order within the parent, (re)cursing as needed. Each object also has a property telling it where in this array is its reference, so it can know which member to jump to, something like

thisform.tabf[this.gtaborder-1, 1].setfocus

Of course, doing this for one form would be an overkill, I've done it at the framework level.

back to same old

the first online autobiography, unfinished by design
What, me reckless? I'm full of recks!
Balkans, eh? Count them.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform