Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2011, 13h01   #1
Candidat au titre de Membre du Club
 
gwenael thirion
Inscription : mai 2010
Messages : 92
Détails du profil
Informations personnelles :
Nom : gwenael thirion

Informations forums :
Inscription : mai 2010
Messages : 92
Points : 14
Points : 14
Par défaut Ruban et gdiplus

Bonjour,

J'ai développé une application dont les rubans utilisent la librairie gdiplus.
Je m'étais inspiré de l'exemple d'Arkham46.

Sous Access 2007, pas de problème.
Sous Access 2010, mes images png ne s'affichent plus et j'ai une erreur 53 à l'ouverture "fichier introuvable : olg"

la procédure qui pose problème est Ribbon_getImage.

Avez vous rencontré ce problème?
Que faire?
gwent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 13h10   #2
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 729
Points : 8 729
Salut,

J'ai eu le même soucis. Voici le changement à réaliser dans le module.

Remplace ogl par gdiplus

Déclaration :
Code :
1
2
3
4
5
6
7
8
' API GDI+
Private Declare Function GdipLoadImageFromFile Lib "gdiplus" (ByVal FileName As Long, ByRef image As Long) As Long
Private Declare Function GdiplusStartup Lib "gdiplus" (token As Long, LInput As GdiplusStartupInput, Optional ByVal lOutPut As Long = 0) As Long
Private Declare Function GdiplusShutdown Lib "gdiplus" (ByVal token As Long) As Long
Private Declare Function GdipDisposeImage Lib "gdiplus" (ByVal image As Long) As Long
Private Declare Function GdipCreateHBITMAPFromBitmap Lib "gdiplus" (ByVal bitmap As Long, ByRef hbmReturn As Long, _
                                                                    ByVal Background As Long) As Long
Private Declare Function GdipLoadImageFromStream Lib "gdiplus" (ByVal stream As Any, ByRef image As Long) As Long
et remplace par ce code l'initialisation
Code :
1
2
3
4
5
6
7
8
9
10
11
12
'---------------------------------------------------------------------------------------
' Initialisation de la classe
'---------------------------------------------------------------------------------------
Private Sub Class_Initialize()
    Dim lGdiPSI As GdiplusStartupInput
    ' Charge la librarie gdiplus
    gLib = LoadLibrary(CurrentProject.Path & "\dll\gdiplus.dll")
    If gLib = 0 Then gLib = LoadLibrary("gdiplus.dll")
    ' Initialisation GDI + version 1
    lGdiPSI.GdiplusVersion = 1
    Call GdiplusStartup(gGdipToken, lGdiPSI)
End Sub
sachant que j'héberge la dll dans un dossier dll du dossier de l'application

Pour moi ça fonctionne.

Arkham46

Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 13h32   #3
Candidat au titre de Membre du Club
 
gwenael thirion
Inscription : mai 2010
Messages : 92
Détails du profil
Informations personnelles :
Nom : gwenael thirion

Informations forums :
Inscription : mai 2010
Messages : 92
Points : 14
Points : 14
Citation:
Envoyé par Dolphy35 Voir le message
Salut,

J'ai eu le même soucis. Voici le changement à réaliser dans le module.

Remplace ogl par gdiplus

Déclaration :
Code :
1
2
3
4
5
6
7
8
' API GDI+
Private Declare Function GdipLoadImageFromFile Lib "gdiplus" (ByVal FileName As Long, ByRef image As Long) As Long
Private Declare Function GdiplusStartup Lib "gdiplus" (token As Long, LInput As GdiplusStartupInput, Optional ByVal lOutPut As Long = 0) As Long
Private Declare Function GdiplusShutdown Lib "gdiplus" (ByVal token As Long) As Long
Private Declare Function GdipDisposeImage Lib "gdiplus" (ByVal image As Long) As Long
Private Declare Function GdipCreateHBITMAPFromBitmap Lib "gdiplus" (ByVal bitmap As Long, ByRef hbmReturn As Long, _
                                                                    ByVal Background As Long) As Long
Private Declare Function GdipLoadImageFromStream Lib "gdiplus" (ByVal stream As Any, ByRef image As Long) As Long
et remplace par ce code l'initialisation
Code :
1
2
3
4
5
6
7
8
9
10
11
12
'---------------------------------------------------------------------------------------
' Initialisation de la classe
'---------------------------------------------------------------------------------------
Private Sub Class_Initialize()
    Dim lGdiPSI As GdiplusStartupInput
    ' Charge la librarie gdiplus
    gLib = LoadLibrary(CurrentProject.Path & "\dll\gdiplus.dll")
    If gLib = 0 Then gLib = LoadLibrary("gdiplus.dll")
    ' Initialisation GDI + version 1
    lGdiPSI.GdiplusVersion = 1
    Call GdiplusStartup(gGdipToken, lGdiPSI)
End Sub
sachant que j'héberge la dll dans un dossier dll du dossier de l'application

Pour moi ça fonctionne.

Arkham46

Dolphy
super... ça marche nickel...

et ta réactivité... chapeau !!! merci

dire que je cherche depuis plusieurs jours !!!

merci, merci, merci
gwent est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h41.


 
 
 
 
Partenaires

Hébergement Web