Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Refreshing toolbars
Message
De
11/07/2003 11:35:29
 
 
À
11/07/2003 01:04:49
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Divers
Thread ID:
00808690
Message ID:
00809227
Vues:
21
Hello Javier,

Well, the issue of updating the Cut/Copy/Paste toolbar is not pretty, What you need to do can be accomplished in the toolbar button class and a timer. At every timer interval call a method in the button to refresh itself. For instance in the Cut/Copy buttons the refresh method may look something like this:
tbarButton::Refresh
if type('_screen.activeform.name') = 'C' and ;
  inlist(_screen.activeform.activecontrol.baseclass,'Textbox','Editbox')
  this.enabled = .t.
else
  this.enabled = .f.
endif
The timer would fire every .5 seconds (500ms) and it's timer event may look like this:
tbTimer::Timer
local i
with this.parent
for i = 1 to this.parent.controlcount
  if .controls(i).baseclass = 'Button'
    .controls(i).refresh()
  endif
endfor
These are just examples and not production code. You can develop your own techniques and methods from these concepts.

Glenn

>>Hi,
>>
>>>>
>>I just wanted to know what is the recommended way to refresh a toolbar:
>>- Timer
>>- Inserting code in thisForm.init() and thisForm.destroy() methods.
>>>>
>>
>>It depends...
>>If the same toolbar is servicing multiple forms then I think that probably the best place is in the Form.Activate/Deactivate events.
>>
>>Regards,
>>Viv
>
>You are right, activate and deactivate methods make more sense. The toolbar is servicing the whole application, so it has buttons related to forms and others that relate to miscelaneous things (like save as, send to ..., cut-copy-paste, ...), and these buttons are the ones who change more from enabled to disabled (think of the cut-copy-paste).
>
>Thanks,
>Javier.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform