Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Workaround for a bug
Message
From
14/06/2001 21:01:24
 
 
To
14/06/2001 16:10:00
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
00519598
Message ID:
00519777
Views:
13
>>>I have only tested this code for the conditions in it. There may be other factors that prevent a control from receiving focus, like visible property.
>local loMinControl
>loMinControl = .null.
>for each loControl in ThisForm.Controls
>   if isnull(loMinControl)
>      if upper(loControl.BaseClass) <> "GRID" and pemstatus(loControl, 'SetFocus', 5) and loControl.Enabled
>         loMinControl = loControl
>      endif
>      loop
>   endif
>   if upper(loControl.BaseClass) <> "GRID" and pemstatus(loControl, 'SetFocus', 5) and loControl.Enabled
>      if loControl.TabIndex < loMinControl.TabIndex
>         loMinControl = loControl
>      endif
>   endif
>endfor
><b>thisForm.oMinControl = loMinControl</b>
>
>>
>>That works.
>
>Or, you can add a property to your form. Run this code one time in form.init(), and when you need to setFocus you can issue thisForm.oMinControl.setFocus().

This brings the idea of using a property to hold the field we would like to use as the first focus of the form. We could just maintain that field when building the form. However, we don't have to think about it if we do it here. We just have to make sure the tab index is well set.
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform