Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Active control
Message
De
28/10/1998 16:40:22
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Titre:
Divers
Thread ID:
00151923
Message ID:
00151945
Vues:
24
>>>>>Is there a way to click on a toolbar and have it know and be able to access the last active control? And a way to enable or disable a toolbar depending on what control is active?
>>>>>
>>>>>Basically, I want to put in the gotfocus something to turn the toolbar on, then while you're in that control, the toolbar can control its properties, and then in the lostfocus the toolbar gets disabled.
>>>>>
>>>>>How do I do this?
>>>>>
>>>>>Thanks,
>>>>>
>>>>>-Michelle
>>>>
>>>>Basically, you do exactly what you said:
>>>>***Control.GotFocus event
>>>>oApp.tbMain.SetAll("Enabled",.F.,"CommandButton")
>>>>***Control.LostFocus event
>>>>oApp.tbMain.SetAll("Enabled",.T.,"CommandButton")
>>>>You may also diversify this code, if, for example, some buttons were already disabled before control got focus.
>>>
>>>
>>>Hmmm... Back to needing an application object again... Any other way to talk to the toolbar? And what about the toolbar talking to the control?
>>>
>>>Thanks,
>>>
>>>-Michelle
>>
>>If you want to disable buttons when some control gets focus, then logically this control should talk to toolbar and not otherwise. Opposite way of commincation will still involve tracing application hierarchy, but if you particularly don't like it, there is another way. You can always loop through _SCREEN.Forms collection, find the necessary form there and call it using the same collection.
>
>
>Yes, for disabling the toolbar when the control loses focus, it makes sense that the control talk to the toolbar. But there were two parts to my question. I also want to know how the toolbar can manipulate the properties of the control.
>
>It's not that I don't like the idea of an application object, I just don't like the idea of having to make an application all the time. I just run the forms straight from VFP, so there's no application to have an object.
>
>Thanks,
>
>-Michelle

You don't need in 'application'. I meant custom object which is usually called oApp (or goApp in some versions:). As I said, it's not a requirement to have it in your design, because you may use _SCREEN.Forms collection. For example, you want to call FrmEdit.txtName control outside 'frmEdit' form. Then you can do following:
For Each oForm In _SCREEN.Forms
 IF UPPER(oForm.Name)=="FRMEDIT"
  oForm.txtName.Backcolor=12345
 ENDIF
Endfor
Edward Pikman
Independent Consultant
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform