Oui tout à fait, comme une barre d'outils que l'on ferait disparaitre avec un barreoutil(1).visibleúlse
Je n'ai pas trouvé de propriètes spécifique à la barre de menu
Touti
Tu peux utiliser un truc du genre :
Sub ShowMenu(bShow As Boolean) Dim c As Control
For Each c In Controls If TypeName(c) = "Menu" Then c.Visible = bShow End If Next c
End Sub
-- Cordialement,
Jacques.
Zoury
Bonjour ! :O)
Juste pour votre information, la structure TypeOf-Is est plus rapide à l'exécution que l'emploi de la méthode TypeName() qui nécessite la comparaison de chaines de caractères. De plus, je la trouve plus simple à lire. :O)
If TypeName(c) = "Menu" Then
If TypeOf c Is Menu Then
-- Cordialement Yanick MVP pour Visual Basic
Bonjour ! :O)
Juste pour votre information, la structure TypeOf-Is est plus rapide à
l'exécution que l'emploi de la méthode TypeName() qui nécessite la
comparaison de chaines de caractères. De plus, je la trouve plus simple à
lire. :O)
Juste pour votre information, la structure TypeOf-Is est plus rapide à l'exécution que l'emploi de la méthode TypeName() qui nécessite la comparaison de chaines de caractères. De plus, je la trouve plus simple à lire. :O)
If TypeName(c) = "Menu" Then
If TypeOf c Is Menu Then
-- Cordialement Yanick MVP pour Visual Basic
Jacques93
Bonsoir Zoury, Zoury a écrit :
Bonjour ! :O)
Juste pour votre information, la structure TypeOf-Is est plus rapide à l'exécution que l'emploi de la méthode TypeName() qui nécessite la comparaison de chaines de caractères. De plus, je la trouve plus simple à lire. :O)
If TypeName(c) = "Menu" Then
If TypeOf c Is Menu Then
Bien noté Zoury, mais pour la simplicité de lecture, ça dépend pour qui ;-)
Comment savoir à quel niveau se placer ?
F1 sur TypeOf m'envoie sur l'aide de If ... Then ... Else F1 sur TypeName m'envoie sur l'aide de TypeName
On facilement faire peut faire un
Debug.Print TypeName (c)
pour voir les différents type de contrôles.
L'élégance du code et la rapidité d'exécution ne sont pas toujours gage de meilleure méthode pour la compréhension.
A supposer déjà que l'on ai bien compris la question et/ou l'objectif. :-)
-- Cordialement,
Jacques.
Bonsoir Zoury,
Zoury a écrit :
Bonjour ! :O)
Juste pour votre information, la structure TypeOf-Is est plus rapide à
l'exécution que l'emploi de la méthode TypeName() qui nécessite la
comparaison de chaines de caractères. De plus, je la trouve plus simple à
lire. :O)
If TypeName(c) = "Menu" Then
If TypeOf c Is Menu Then
Bien noté Zoury, mais pour la simplicité de lecture, ça dépend pour qui ;-)
Comment savoir à quel niveau se placer ?
F1 sur TypeOf m'envoie sur l'aide de If ... Then ... Else
F1 sur TypeName m'envoie sur l'aide de TypeName
On facilement faire peut faire un
Debug.Print TypeName (c)
pour voir les différents type de contrôles.
L'élégance du code et la rapidité d'exécution ne sont pas toujours gage
de meilleure méthode pour la compréhension.
A supposer déjà que l'on ai bien compris la question et/ou l'objectif.
:-)
Juste pour votre information, la structure TypeOf-Is est plus rapide à l'exécution que l'emploi de la méthode TypeName() qui nécessite la comparaison de chaines de caractères. De plus, je la trouve plus simple à lire. :O)
If TypeName(c) = "Menu" Then
If TypeOf c Is Menu Then
Bien noté Zoury, mais pour la simplicité de lecture, ça dépend pour qui ;-)
Comment savoir à quel niveau se placer ?
F1 sur TypeOf m'envoie sur l'aide de If ... Then ... Else F1 sur TypeName m'envoie sur l'aide de TypeName
On facilement faire peut faire un
Debug.Print TypeName (c)
pour voir les différents type de contrôles.
L'élégance du code et la rapidité d'exécution ne sont pas toujours gage de meilleure méthode pour la compréhension.
A supposer déjà que l'on ai bien compris la question et/ou l'objectif. :-)
-- Cordialement,
Jacques.
Zoury
> Debug.Print TypeName (c)
Très certainement. TypeName() est très très pratique.
F1 sur TypeOf m'envoie sur l'aide de If ... Then ... Else
Yep.. l'aide de l'instruction TypeOf se trouve dans cette fiche, c'est assez ordinaire j'en convient. :O/
L'élégance du code et la rapidité d'exécution ne sont pas toujours gage de meilleure méthode pour la compréhension.
En effet. :O)
Je la trouve plus simple à lire, car, amha, il s'agit tout simplement d'une phrase (syntaxiquement correcte) et non d'une ligne de code (comme du COBOL ;O). Aussi, l'emploi du Is nous donne accès à tous les types via l'intellisense, ce qui peut s'avérer pratique (et évite les fautes de frappe).
Ceci dit, je ne dit pas que TypeName() devrais être bannit. Je l'emploi régulièrement dans le cadre d'un Select Case. ;O)
-- Cordialement Yanick MVP pour Visual Basic
> Debug.Print TypeName (c)
Très certainement. TypeName() est très très pratique.
F1 sur TypeOf m'envoie sur l'aide de If ... Then ... Else
Yep.. l'aide de l'instruction TypeOf se trouve dans cette fiche, c'est assez
ordinaire j'en convient. :O/
L'élégance du code et la rapidité d'exécution ne sont pas toujours gage
de meilleure méthode pour la compréhension.
En effet. :O)
Je la trouve plus simple à lire, car, amha, il s'agit tout simplement d'une
phrase (syntaxiquement correcte) et non d'une ligne de code (comme du COBOL
;O). Aussi, l'emploi du Is nous donne accès à tous les types via
l'intellisense, ce qui peut s'avérer pratique (et évite les fautes de
frappe).
Ceci dit, je ne dit pas que TypeName() devrais être bannit. Je l'emploi
régulièrement dans le cadre d'un Select Case. ;O)
Très certainement. TypeName() est très très pratique.
F1 sur TypeOf m'envoie sur l'aide de If ... Then ... Else
Yep.. l'aide de l'instruction TypeOf se trouve dans cette fiche, c'est assez ordinaire j'en convient. :O/
L'élégance du code et la rapidité d'exécution ne sont pas toujours gage de meilleure méthode pour la compréhension.
En effet. :O)
Je la trouve plus simple à lire, car, amha, il s'agit tout simplement d'une phrase (syntaxiquement correcte) et non d'une ligne de code (comme du COBOL ;O). Aussi, l'emploi du Is nous donne accès à tous les types via l'intellisense, ce qui peut s'avérer pratique (et évite les fautes de frappe).
Ceci dit, je ne dit pas que TypeName() devrais être bannit. Je l'emploi régulièrement dans le cadre d'un Select Case. ;O)
-- Cordialement Yanick MVP pour Visual Basic
TouTi
J'ai bien suivi vos commentaires mais la mise en application me pose un probleme.
J'ai 3 trois menus dont un est intitulé "Affichage" contenant une commande "barre d'outils" qui me permettra afficher/masquer cette barre.
Lorsque la barre affichage est masquée, j'appelle le popupmenu de ce menu avec le code suivant :
Private Sub mnuViewRefresh_Click() Dim c As Control Dim aff As Boolean
If mnuViewRefresh.Checked = True Then mnuViewRefresh.Checked = False aff = False Else mnuViewRefresh.Checked = True aff = True End If
For Each c In Controls If TypeOf c Is Menu Then c.Visible = aff Next c
End Sub
Malheureusement, ça coince lorsqu'il cache le menu contenant ce code. De plus cela ne cache pas que que les menus principaux mais tous les menus de commandes....
Merci
--
J'ai bien suivi vos commentaires mais la mise en application me pose un
probleme.
J'ai 3 trois menus dont un est intitulé "Affichage" contenant une commande
"barre d'outils" qui me permettra afficher/masquer cette barre.
Lorsque la barre affichage est masquée, j'appelle le popupmenu de ce menu
avec le code suivant :
Private Sub mnuViewRefresh_Click()
Dim c As Control
Dim aff As Boolean
If mnuViewRefresh.Checked = True Then
mnuViewRefresh.Checked = False
aff = False
Else
mnuViewRefresh.Checked = True
aff = True
End If
For Each c In Controls
If TypeOf c Is Menu Then c.Visible = aff
Next c
End Sub
Malheureusement, ça coince lorsqu'il cache le menu contenant ce code. De
plus cela ne cache pas que que les menus principaux mais tous les menus de
commandes....
J'ai bien suivi vos commentaires mais la mise en application me pose un probleme.
J'ai 3 trois menus dont un est intitulé "Affichage" contenant une commande "barre d'outils" qui me permettra afficher/masquer cette barre.
Lorsque la barre affichage est masquée, j'appelle le popupmenu de ce menu avec le code suivant :
Private Sub mnuViewRefresh_Click() Dim c As Control Dim aff As Boolean
If mnuViewRefresh.Checked = True Then mnuViewRefresh.Checked = False aff = False Else mnuViewRefresh.Checked = True aff = True End If
For Each c In Controls If TypeOf c Is Menu Then c.Visible = aff Next c
End Sub
Malheureusement, ça coince lorsqu'il cache le menu contenant ce code. De plus cela ne cache pas que que les menus principaux mais tous les menus de commandes....