Arrière-Plan transparent avec le Run-Time d'Access

Exclusion de responsabilité du contenu obsolète de la base de connaissances

Cet article a été rédigé sur les produits pour lesquels Microsoft n’offre plus aucune prise en charge. Par conséquent, cet article est proposé « en l’état » et ne sera plus mis à jour.

Résumé

|

LES INFORMATIONS CONTENUES DANS CE DOCUMENT SONT FOURNIES SANS GARANTIE
D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. LE DESTINATAIRE ASSUME LE RISQUE
DE L'UTILISATION DU CONTENU DE CE DOCUMENT.

Cet exemple est fourni à titre d'information pour les utilisateurs
avertis. Si vous utilisez incorrectement des fonctions API, vous risquez
de causer des erreurs au niveau de votre système d'exploitation et de
devoir redémarrer votre ordinateur.
Pour plus d'informations concernant l'utilisation des API WINDOWS avec
MICROSOFT ACCESS veuillez vous référer aux documentations du WINDOWS SDK
(SOFTWARE DEVELOPMENT KIT).

Avec l'environnement Run-time de Microsoft Access, lorsque vous utilisez
un fichier de groupe de travail (System.mdw) avec la sécurité activée, la
fenêtre d'arrière-plan de Microsoft Access est Transparente.

Microsoft Access ne repeignant pas cette fenêtre, il faut utiliser des
Apis Windows pour palier à ce problème.

ETAPES POUR REPRODUIRE
----------------------
1. Créez un nouveau Raccourci sur MSACCESS.EXE
2. Sur la ligne de commande, tapez
MSACCESS.EXE /RUNTIME C:\MSOFFICE\ACCESS\EXEMPLES\COMPTOIR.MDB

La fenêtre MDClient de Microsoft Access n'est pas rafraîchie.

Statut


1. Créez un nouveau module et ajoutez-y les lignes suivantes :

Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long,_
lpRect As Any, ByVal bErase As Long) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _
lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function UpdateWindow Lib "user32" (ByVal hwnd As Long) As Long _
Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal _
hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 _
As Any) As Long


2. Puis créez une nouvelle fonction:

Public Function Repaint_MDICLient()
Dim hParent As Long
Dim hChild As Long

hParent = FindWindow("Omain", "Microsoft Access")
hChild = FindWindowEx(hParent, 0&, "MDICLient", 0&)
If hChild Then
If InvalidateRect(0, 0, True) Then
UpdateWindow hChild
End If
End If
End Function

3. Appelez cette fonction au chargement de l'application, sur l'événement
Load d'un formulaire ou dans une Macro Autoexec.

Plus d'informations

Microsoft a connaissance de ce phénomène. Nous effectuons des recherches
sur ce sujet.

Propriétés

ID d'article : 466672 - Dernière mise à jour : 9 oct. 1996 - Révision : 1

Commentaires