Gestion des Menus

Signaler
Messages postés
83
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
27 juin 2016
-
Messages postés
298
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
26 septembre 2009
-
Bonsieur Messieurs/Mesdames

J'ai les données de mon menu dans une table appelée TMenu

Colonnes de TMenu :
CodeMenu       LibelleMenu                       Droit
0100                  Fichier                               1 ou 0
0101                  Imprimer                            1 ou 0
0102                  Aperçu avant impression    1 ou 0
0103                  Connection                        1 ou 0
0104                  Quitter                               1 ou 0

0200                  Gestion                              1 ou 0
0201                  DET                                  1 ou 0
....

Mon menu est crée en dur sur un formulaire MDI on a :
Fichier                                    Gestion      .......
   Imprimer                                  DET 
   Aperçu avant impression           ....
   Connection
   Quitter

Je souhaite à partir de la table TMenu afficher le menu d'un utilisateur en fonction de ce qu'il a droit.

Merci de m'apporter une assistance!

Cordialement!

Bonne soirée

NIAMKE Francis

3 réponses

Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Bonjour,

Quel élément te permet de définir les droit d'utilisateur ? Une table? une variable ?
Qu'utilise tu pour la connexion aux données ? Un DataSet ? Du code ?

Sinon je te conseil de ne pas créer tes menus en 'Dur', mais bien entendu par code, cela coule de source.

Merci.
Messages postés
298
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
26 septembre 2009

Bonjour FNIAMKE,
Tout d'abord, on dit: " Bonsoir Mesdames, Bonsoir Messieurs."
On commence toujours avec les Dames.
C'était l'usage de commencer les télétypes avec "Bonjour, " suivi du nom du fournisseur.
 J'ai l'impression que c'est resté un petit peu dans les e-mails.

Il y a deux types de gestionnaires de menus, et assez d'objets d'affichage pour en développer. Le premier est un simple cas d'étude général.
 Il faut donc commencer par choisir celui qui t'interesse et le déclarer:

Facile (Cas d'étude général)
Public Menu0000 As New MenuStrip

Contextuel ( Certains_Ogjets.ContextMenu = Menucontextuel
Public MenuContextuel As New ContextMenuStrip

Parenthèse:
Le cas Menu et ses corollaires MenuItems assurent toujours la compatibilité avec le vieux système de menus, mais je connais pas les procédures d'affectation et je préfère garder le label "Menu" Pour mes variables de courte durée de vie et ca ferait confus avec le vieux système.

Partie visuelle pré-encapsulée si on s'interesse plus particulièrement
au module de gestion (Racines et Tronc)
Public Class Feuillage
Public Ramure As New TreeView
End Class

Dans les deux premiers cas, il suffit de déclarer des variables
Dim Element de Menu As StripItem, ou ContestStripItem pour lancer un délégué,  et un StripMenuItem ou StripContextMenuItem (Cas ou le dernier chiffre du code est zéro et que donc c'est un item de selection catégorie dans le menu)

Il suffit ensuite de classer en suivant les niveaux d'ordre du code:

Dim MenuItem01 As StripMenuItem
MenuItem01 = New Menu0000 ("Fichier")
Dim Delegue_Imprime As StripItem
Delegue_Imprime = New MenuItem01 ("Imprimer")

etc... Débrouille-toi pour créer des fonctions rang et position à partir du tableau de codes pour automatiser les affectation.

Déclare les variables globales dans le corps de l'objet qui utilise le menu, tu peux faire les affectaions (New) dans une sub plus tard. 

J'ai des tout petits bouts de code dans ViewDoc comme exemples de base. sans la matrice d'affectation.

Amuse-toi bien. 

PS. J'ai un programme "AUTOMENU" qui utilise une ListView avec un menu contextuel, mais j'ai oublié à quoi il sert. Je peux le poster si tu m'aide à faire le mode d'emploi. Il utilise les facilités du concepteur et donc intransportable en mode texte, mais le menu contextuel est dynamique.
Messages postés
298
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
26 septembre 2009

Tout ca pour dire:

Il suffit de faire un test dans le délégué.