Gestion d'affichage des barres de menu et d'outils après avoir masquer Access
ftmike
Messages postés6Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention20 septembre 2005
-
19 sept. 2005 à 16:29
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 2014
-
25 sept. 2005 à 18:58
Bonjour, je suis dans une impasse totale, je ne comprends plus. Aidez-moi s'il vous plait !!!
Voilà, j'ai réaliser une base access et je l'ouvre par le biais d'un formulaire qui lors de son chargement masque la fenêtre principale du logiciel Access pour ne rendre visible que le formaulaire, en VB, cela donne cela :
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Sub Form_Load()
Dim nCmdShow As Long
Dim loX As Long
Dim loForm As Form
bWindowHidden = False
nCmdShow = SW_HIDE
loX = apiShowWindow(hWndAccessApp, nCmdShow)
bWindowHidden = True
End Sub
Jusqu'ici tout va bien ... mais bien entendu il me faut gérer le retour à la normale c'est à dire ré-afficher la fenêtre principale d'access avec l'affichage de la fenêtre de base de donnée + les barres d'outils intégrées ainsi que la barre de menu. Et c'est là que le bas blesse !!!
En fait, j'ai créé un formulaire administrateur au sein duquel un bouton doit me permettre de basculer sur l'affichage classique (base de donnée + barres d'outils + barre de menu) seulement je parviens uniquement à ré-afficher la fenêtre principale du logiciel access ainsi que la fenêtre de base de donnée. Afin d'effectuer la maintenance de ma base, il est vraiment indispensable que je ré-affiche également les barres d'outils et la barre de menu.
Pour l'instant, j'ai créé un module qui doit me gérer le retour à un affichage classique :
Option Compare Database
Option Explicit
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
Public bWindowHidden As Boolean
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Function fSetAccessWindow(nCmdShow As Long)
Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm
If Err <> 0 Then 'no Activeform
Error (Error$)
If nCmdShow = SW_HIDE Then
MsgBox "Cannot hide Access unless " _
& "a form is on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else If nCmdShow SW_SHOWMINIMIZED And loForm.Modal True Then
MsgBox "Cannot minimize Access with " _
& (loForm.Caption + " ") _
& "form on screen"
ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then
MsgBox "Cannot hide Access with " _
& (loForm.Caption + " ") _
& "form on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
End If
fSetAccessWindow = (loX <> 0)
End Function
Et j'utilise ce module par le biais d'une commande sur click intégrée dans mon formulaire d'administration :
Private Sub CacheAccessWindow_Click()
On Error GoTo Err_CacheAccessWindow_Click
Résultat, au final, tout marche à l'exception de l'affichage de la barre de menu et des barres d'outils d'origine !!!
Ah ! Ah ! Ah ! Ah ! Ah ! Ah ! Ah ! Ah !, Ca m'énerve, ça fait des plombes que je cherche et je crois avoir atteint la limite de mes compétences ... Aidez-moi s'il vous plait.
D'avance merci.
°oO° Mike °Oo°
A voir également:
Gestion d'affichage des barres de menu et d'outils après avoir masquer Access
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 25 sept. 2005 à 18:58
Salut,
Alors j'ai eu le même pb que toi mais pour un autre soft, voici ce que tu note comme Constantes :
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
Il faut savoir que ces numéro 0,1,2,3 ne sont pas les seuls, ainsi il éxiste aussi 4,5,6,7,8..... à toit de trouver celui qui ferme correctement Access ou qui la réaffiche je sais plus