Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to find out the control focus is jumping to?
Message
 
À
17/12/2008 15:37:20
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Divers
Thread ID:
01368256
Message ID:
01368308
Vues:
13
This message has been marked as the solution to the initial question of the thread.
>>>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.
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform