IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

restaurer le menu system de la barre de titre Access


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Points : 5
    Points
    5
    Par défaut restaurer le menu system de la barre de titre Access
    Bonjour,

    j'ai utilisé ce code : masquer la fenetre access. Cela masque le menu système de la barre de titre Access et affiche mes formulaire en full screen (ce qui est ce que je veux et cela marche parfaitement)


    mais je voudrais aussi qu'en cliquant sur un bouton on revienne à la fenetre access normal (avec donc la restauration du menu système de la barre de titre Access) pour que si l'administrateur le désire il puisse avoir toute les option du menu system d'access

    Le code pour masquer est dans le lien et pour restaurer le tout j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function Restore_Fenetre(pForm As Form)
        ShowWindow Application.hWndAccessApp, SW_RESTORE
        ShowWindow pForm.hWnd, SW_SHOWNORMAL
        ShowWindow Application.hWndAccessApp, SW_MAXIMIZE
    End Function
    cela me réaffiche bien mes formulaire en taille normale (plus en full screen) mais je n'ai pas le menu system dont j'ai besoin. J'ai cherché un peu partout mais il n'y que du code pour le masquer et non le démasquer.

    Quelqu'un aurait-il une idée pour le réactiver?

    merci d'avance.

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Citation Envoyé par Caro59 Voir le message
    j'ai utilisé ce code : masquer la fenetre access. Cela masque le menu système de la barre de titre Access ...
    Je pense que c'est accidentel.
    Le code est censé masquer toute la fenêtre de l'application Access.

    Quelle est ta version d'Access ?

    A+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Access 2003, mais la base est par défaut en 2000.

    Enfin quand je dis "ça masque juste le menu system" je veux dire que je n'ai qu'une fenetre contenant mes formulaire sans rien d'autre.

    je me suis peut-etre mal exprimée

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    J'ai testé le code que tu cites.

    La restauration de la fenêtre de l'application Access devrait être la seule chose à faire.
    Malheureusement ça ne fonctionne pas.

    La fenêtre est bien restaurée, mais il manque une partie de l'interface utilisateur : les menus et les boutons de la fenêtre de base de données.
    Pour moi, le code fait quelque chose qui perturbe Access.

    A tester ...
    Pour cacher la fenêtre d'Access
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      ShowWindow Application.hWndAccessApp, SW_MINIMIZE
      ShowWindow pForm.hWnd, SW_SHOWNORMAL
      ShowWindow Application.hWndAccessApp, SW_SHOWMINIMIZED
    Pour réafficher la fenêtre d'Access
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      DoCmd.RunCommand acCmdAppRestore
    Ça équivaut à un clic-droit sur le bouton de la barre de tâches correspondant à l'application, puis Restaurer.

    ---/---

    Si tu veux seulement cacher les menus et la fenêtre de base de données, voici une méthode inspirée de cette source
    Créer une table tblVisibleToolbars avec un champ texte Toolbar

    Copier/Coller le code ci-dessous dans un module de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    ' Constante globale
    Const TBL_TOOLBAR = "tblVisibleToolbars"
     
    ' --------------------------------------------------------
    ' Masque la fenêtre de base de données
    ' --------------------------------------------------------
    Sub HideDBwindow()
    DoCmd.SelectObject acTable, , True
    DoCmd.RunCommand acCmdWindowHide
    End Sub
     
    ' --------------------------------------------------------
    ' Affiche la fenêtre de base de données
    ' --------------------------------------------------------
    Sub ShowDBwindow()
    DoCmd.SelectObject acTable, , True
    End Sub
     
    ' --------------------------------------------------------
    ' Masque les barres de menu/outils
    ' --------------------------------------------------------
    Sub HideMenus()
    Dim db As DAO.Database, rs As DAO.Recordset
     
    EnumVisibleToolBars
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset(TBL_TOOLBAR)
    Do While Not rs.EOF
       DoCmd.ShowToolbar rs("Toolbar"), acToolbarNo
       rs.MoveNext
    Loop
    End Sub
     
    ' --------------------------------------------------------
    ' Reaffiche les barres de menu/outils
    ' --------------------------------------------------------
    Sub ShowMenus()
    Dim db As DAO.Database, rs As DAO.Recordset
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset(TBL_TOOLBAR)
    Do While Not rs.EOF
       DoCmd.ShowToolbar rs("Toolbar"), acToolbarWhereApprop
       rs.MoveNext
    Loop
    End Sub
     
    ' --------------------------------------------------------
    ' Recense les barres de menu/outils visibles
    ' dans la table dont le nom est donné par
    ' la constante globale TBL_TOOLBAR
    ' --------------------------------------------------------
    Sub EnumVisibleToolBars()
    Dim db As DAO.Database, rs As DAO.Recordset
    Dim oCmdBar As Object
    Dim cntBars As Long, arrBars() As String
    Dim l As Long
     
    cntBars = -1
    For Each oCmdBar In Access.Application.CommandBars
        If oCmdBar.Visible = True And oCmdBar.Enabled = True Then
           cntBars = cntBars + 1
           ReDim Preserve arrBars(0 To cntBars)
           arrBars(cntBars) = oCmdBar.Name
        End If
    Next
     
    If cntBars > -1 Then
        Set db = CurrentDb
        db.Execute "DELETE FROM " & TBL_TOOLBAR
        Set rs = db.OpenRecordset(TBL_TOOLBAR)
        For l = 0 To cntBars
            rs.AddNew
            rs("Toolbar") = arrBars(l)
            rs.Update
        Next
        rs.Close
    End If
    End Sub
    Pour cacher les menus et la fenêtre de base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HideMenus
    HideDBwindow
    Pour reafficher les menus et la fenêtre de la base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ShowMenus
    ShowDBwindow
    Au niveau du formulaire on peut activer/desactiver le menu contextuel (clic-droit) avec la propriété ShortcutMenu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ' Menu contextuel desactivé
    Me.ShortcutMenu = False
     
    ' Menu contextuel activé
    Me.ShortcutMenu = True
    A+

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse c'est exactement ce qu'il me fallait !

    En plus a

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse c'est exactement ce qu'il me fallait !

    En plus avec ta version, même en faisant clic droit sur la barre de tache et restaurer le menu ne se réaffiche pas donc c'est nickel !

    Bonne journée

  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,
    Citation Envoyé par Caro59 Voir le message
    Merci pour ta réponse c'est exactement ce qu'il me fallait !

    En plus avec ta version, même en faisant clic droit sur la barre de tache et restaurer le menu ne se réaffiche pas donc c'est nickel !

    Bonne journée
    Pour ton information, il y a un autre moyen de masquer les menus intégrés d'Access, sans masquer la fenêtre de l'application Access.
    C'est utiliser les options de démarrage (dans le menu Outils).
    En décochant certaines options, tu masques tout ou partie des éléments de l'interface utilisateur d'Access.

    Les changements effectués dans les options de démarrage prennent effet après avoir fermé, puis réouvert la base de données.
    C'est la seule petite contrainte.

    A+

Discussions similaires

  1. [AC-2000] Supprimer le menu système de la barre de titre Access
    Par polo31 dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/07/2009, 16h16
  2. Ajouter une entrée dans le menu contextuel de la barre de titre sous Windows
    Par Tyler_Durden dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 20/10/2008, 09h50
  3. Réponses: 2
    Dernier message: 14/10/2005, 17h21
  4. Hauteur en pixel du menu systeme de la Form ?
    Par hepar dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/02/2004, 10h45
  5. [MFC]Menu systeme EnableMenuItem()
    Par Geraldvi dans le forum MFC
    Réponses: 7
    Dernier message: 19/01/2004, 21h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo