Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to find out the control focus is jumping to?
Message
From
17/12/2008 16:19:00
 
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Miscellaneous
Thread ID:
01368256
Message ID:
01368324
Views:
10
>>>>My form have quite a number of controls.
>>>>Your idea should work fine if I have "exclude all other controls, get the listbox populated with values only if focus is about to be set to 1 or 2 controls" scenario.
>>>>However, in my case, it is exactly the reverse scenario, I want to "do nothing" only for 1 or 2 controls and get the listbox populated with values for the rest of controls.
>>>>
>>>>If I were to do it as you have suggested, that means I will have to add code to GetFocus event of almost all controls in the form and I think I can easily forget about adding the same code, if in the future I need to add new control to the form.
>>>
>>>Don't remember, can you bind the GotFocus event?
>>
>>Hi,
>>I couldn't figure out how can a bind of GotFocus event help in this case, care to elaborate?
>
>If ALL controls are placed in the form (not in some container)
>The you could use this (in Init event of the form):
>
>FOR EACH oControl IN thisform.Controls
>    IF PEMSTATUS(oControl, "GotFocus", 5) AND;
>       NOT INLIST(UPPER(oControl.Name), PUT THE NAMES OF CONTROLS YOU WANT TO EXCLUDE IN UPPER CASE HERE)
>       BINDEVENT(oControl,"GotFocus", thisform,"PopulateListBox", 1)
>    ENDIF
>NEXT
>
>If you use some container in that form (PageFrame, Container, etc) you should do this as a method in the form and call it recursively for each container.

Thanks alot!
I can't think of a better way than yours!!!

Btw, could you give me a clue, how do I get my name up there in the message footer so that you can CC me?
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform