Remplir et mettre à jour un menu en temps réel (avec source en exemple)

Description

Générer ou modifier vos menus seulement quand l'utilisateur les consulte.

VB permet de remplir un sous-menu pendant l'execution, et les menus ont une structure 'presque' similaire avec les Collection sauf qu'ils nont pas les methodes pour ajouter ou supprimer des éléments...

On peut toutefois ajouter un élément en utilisant la commande 'Load', et utiliser la propriété '.visible' pour cacher des éléments que l'on voudrait supprimer.

Pour mettre à jour un menu en temps réel, il suffit de faire une fonction qui ajoute (et/ou cache) les éléments du menu, puis d'appeler cette fonction juste avant que l'utilisateur affiche le menu.

Et pour celà, il est utile de savoir que le survol d'un élément de menu, qui ouvre un sous-menu, provoque un événement 'Click' comme si on cliquait dessus... Par contre, comme le sous-menu est bloqué en écriture lors de cet évenement, il faudra appeler la fonction de mise à jour dans un niveau précédent (supérieur) du menu.

ESSAYEZ et étudiez l'exemple du source... Vous allez comprendre rapidement !!! ;o)

Source / Exemple :


'rem voir le ZIP

Conclusion :


NB:

Dans l'exemple, l'événement 'Click' de l'élément 'Systray' du menu provoque la mise à jour du sous-menu de 'Et sur Yahoo!'. Tandis que l'événement 'Click' de 'Et sur Yahoo!' met à jour le sous-menu de 'Rechercher'.
En bonus, exemple de lecture d'un .ini pour recuperer des URL qui s'ouvrent depuis le menu. L'URL est enregistrée dans la propriété .tag des éléments du sous-menu de 'Et sur Yahoo'.

Le source en exemple vient d'une appli destinée à 'Yahoo!Plus' ; projet commun du Labo :

http://www.vbfrance.com/projetcommun.aspx?ID=238

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.