Documente Academic
Documente Profesional
Documente Cultură
Dcouvrir les diffrentes possibilits de gestion des images du ruban Access. Intgrer les images votre application. Utiliser des images transparentes.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
I - Introduction..............................................................................................................................................................3 II - Contrles de ruban utilisant des images............................................................................................................... 3 III - Utilisation d'une image standard : attribut ImageMso...........................................................................................3 IV - Chargement initial : callback loadImage...............................................................................................................5 V - Chargement la demande : callback getImage................................................................................................... 6 VI - Image dynamique sur un bouton bascule............................................................................................................ 8 VII - Intgrer les images l'application : utilisation d'un champ pice-jointe............................................................ 10 VIII - Utilisation de GdiPlus : transparence des images et format png..................................................................... 12 VIII-A - Chargement de fichiers image avec transparence..................................................................................12 VIII-B - Chargement d'image avec transparence depuis un champ pice-jointe................................................. 13 IX - Transparence des images et format ico.............................................................................................................14 IX-A - Chargement de fichiers icnes avec transparence................................................................................... 14 IX-B - Chargement d'icnes avec transparence depuis un champ pice-jointe.................................................. 15 X - Conclusion........................................................................................................................................................... 16 XI - Les tlchargements.......................................................................................................................................... 16
-2Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
I - Introduction
Dans la version 2007 d'Office, les barres de menus ont t remplaces par le ruban. La programmation de ce ruban se fait en XML. Les images affiches sur les contrles du ruban peuvent tre soit : - des images standards intgres Office. - des images personnalises. Nous allons voir les diffrentes techniques pour grer ces images. Pour crer plus facilement le XML de vos rubans, utilisez l'assistant ruban. Pour mieux comprendre la programmation des rubans, consultez ces tutoriels : - Programmez et personnalisez le ruban de vos applications Access 2007. - La personnalisation du ruban sous Excel 2007. - Personnalisation du ruban: Les fonctions d'appel CallBacks. - Comment personnaliser le Ruban de Word 2007.
Bouton. Liste droulante avec une zone de texte d'dition. Liste droulante sans zone de texte d'dition. Menu dynamique Zone de texte d'dition. Galerie de contrles. Groupe contenant les contrles. Bouton bascule.
-3Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
La liste des valeurs possibles pour imageMso est disponible dans un fichier Excel sur le site de microsoft : Liste des imageMso. Notez qu'il est galement possible d'utiliser une des valeurs de l'attribut idMso proposes dans la Liste des idMso. Voici un exemple de code XML utilisant l'attribut imageMso : Utilisation de imageMso
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="true"> <tabs> <tab id="tab1" label="ImageMso"> <group id="group1" label="Exemple d'ImageMso"> <button id="button1" imageMso="AppointmentColorDialog" label="ImageMso = AppointmentColorDialog"/> <button id="button2" imageMso="_9" label="ImageMso = _9"/> </group> <group id="group2" label="Exemple d'IdMso utilis comme ImageMso"> <button label="ImageMso = AppointmentColorDialog" imageMso="ViewsModeMenu" id="button3"/> <button id="button4" label="ImageMso = GroupCollectData" imageMso="GroupCollectData"/> </group> </tab> </tabs> </ribbon> </customUI>
Ce code XML suffit afficher les images. Aucun code VBA n'est ncessaire. Voici le ruban obtenu :
-4Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Utilisez l'assistant ruban pour trouver plus facilement l'imageMso dont vous avez besoin.
Cette attribut loadImage ne peut donc pas tre utilis pour des images dynamiques qui doivent changer en fonction d'vnements dans la base de donnes. Voici le dbut du code XML d'un ruban utilisant l'attribut loadImage : Attribut loadImage
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" loadImage="Ribbon_loadImage">
La procdure VBA Ribbon_loadImage sera excute au premier affichage de chaque contrle de ruban dont l'attribut image est renseign. Voici comment l'crire : Procdure Ribbon_loadImage
Sub Ribbon_loadImage(imageId As String, ByRef image) End Sub
La procdure nous envoie un paramtre imageId : c'est en fait la valeur de l'attribut image de l'lment dont l'image doit tre charge. En retour, on doit modifier le paramtre image qui attend un objet de type IPictureDisp. Un objet de type IPictureDisp peut tre simplement cr avec la fonction VBA LoadPicture. Voici un exemple de code XML utilisant l'attribut loadImage :
-5Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Utilisation de loadImage
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" loadImage="Ribbon_loadImage"> <ribbon startFromScratch="true"> <tabs> <tab id="tab2" label="loadImage"> <group id="group3" label="Images charges avec loadImage"> <button id="button5" label="fichier display.gif" image="display.gif" size="large"/> <button id="button6" label="fichier notepad.gif" image="notepad.gif" size="large"/> <button id="button7" label="fichier clock.gif" image="clock.gif" size="large"/> <button id="button8" label="fichier ferme.bmp" image="ferme.bmp" size="large"/> <button id="button9" label="fichier bat1.gif" image="bat1.gif" size="large"/> </group> </tab> </tabs> </ribbon> </customUI>
Avec, dans un module VBA, le code de la fonction de chargement des images : Procdure de chargement des images
Sub Ribbon_loadImage(imageId As String, ByRef image) Set image = LoadPicture(CurrentProject.Path & "\images\" & imageId) End Sub
Notez que dans cet exemple, les images sont des fichiers stocks dans un sous-rpertoire nomm images. Voici le ruban obtenu :
La transparence des images n'a pas t conserve (les images gif utilises sont des images avec transparence). Nous verrons plus loin dans cet article comment conserver la transparence des images charges.
-6Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Voici le code XML d'un bouton de ruban utilisant l'attribut getImage : Attribut getImage
<button id="button9" label="fichier bat1.gif" tag="bat1.gif" getImage="Ribbon_getImage" size="large"/>
La procdure VBA Ribbon_getImage sera excute au premier affichage du bouton, puis chaque fois que le contrle est invalid par un appel Invalidate ou InvalidateControl. Voici comment crire cette procdure : Procdure Ribbon_loadImage
Sub Ribbon_getImage(control As IRibbonControl, ByRef image) End Sub
Activez la rfrence Microsoft Office 12.0 Object Library pour dfinir le type de donnes IRibbonControl La procdure nous envoie un paramtre control : c'est l'lment dont l'image doit tre charge. En retour on doit modifier le paramtre image qui attend un objet de type IPictureDisp. Un objet de type IPictureDisp peut tre simplement cr avec la fonction VBA LoadPicture. Voici un exemple de code XML utilisant l'attribut getImage : Utilisation de getImage
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="true"> <tabs> <tab id="tab3" label="getImage"> <group id="group4" label="Images charges avec getImage"> <button id="button10" label="fichier display.gif" tag="display.gif" getImage="Ribbon_getImage" size="large"/> <button id="button11" label="fichier notepad.gif" tag="notepad.gif" getImage="Ribbon_getImage" size="large"/> <button id="button12" label="fichier clock.gif" tag="clock.gif" getImage="Ribbon_getImage" size="large"/> <button id="button13" label="fichier ferme.bmp" tag="ferme.bmp" getImage="Ribbon_getImage" size="large"/> <button id="button14" label="fichier bat1.gif" tag="bat1.gif" getImage="Ribbon_getImage" size="large"/> </group> -7Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Utilisation de getImage
</tab> </tabs> </ribbon> </customUI>
Avec,dans un module VBA, le code de la fonction de chargement des images : Procdure de chargement des images
Sub Ribbon_getImage(control As IRibbonControl, ByRef image) Set image = LoadPicture(CurrentProject.Path & "\images\" & control.Tag) End Sub
Notez que dans cet exemple, les images sont des fichiers stocks dans un sous-rpertoire nomm images. Le nom du fichier charger est stock dans l'attribut Tag du contrle du ruban. Voici le ruban obtenu :
L'affichage des images est identique avec loadImage ou getImage. La seule diffrence dans cet exemple est que dans un cas on utilise l'attribut image pour stocker le nom du fichier et dans l'autre cas on utilise l'attribut tag. Dans le chapitre suivant, nous allons dtailler une utilisation de getImage qui ne pourrait tre ralise avec loadImage. La transparence des images n'a pas t conserve (les images gif utilises sont des images avec transparence). Nous verrons plus loin dans cet article comment conserver la transparence des images charges.
-8Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Dans le code VBA nous ajoutons, en en-tte d'un module, la dclaration de l'objet ruban et du flag qui reprsente l'tat du bouton bascule : Dclarations
Private gFlag As Boolean Private oRibbon As IRibbonUI
Ensuite, nous utilisons la procdure de rappel pour conserver l'objet ruban : Dfinition de l'objet ruban au chargement
Sub Ribbon_onLoad(ribbon As IRibbonUI) Set oRibbon = ribbon End Sub
oRibbon est alors dfini au chargement du ruban. Cet objet nous permet d'invalider tout ou une partie du ruban. Lorsqu'on clique sur le bouton, la procdure Ribbon_onAction est excute. On rcupre dans le paramtre pressed l'tat du bouton (enfonc ou relch) et on le stocke dans la variable gFlag.
-9Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
On appelle ensuite la mthode InvalidateControl du ruban pour dclencher la mise jour du bouton. Sur action sur le bouton bascule
Sub Ribbon_onAction(control As IRibbonControl, pressed As Boolean) Select Case control.Id Case "togglebutton1" gFlag = pressed oRibbon.InvalidateControl control.Id End Select End Sub
Lorsqu'on invalide le bouton avec la mthode InvalidateControl, toutes ses procdures de rappel get* sont excutes. La procdure getImage nous permet de dfinir l'image en fonction de l'tat du bouton : Mise jour de l'image
Sub Ribbon_getImage(control As IRibbonControl, ByRef image) Select Case control.Id Case "togglebutton1" If gFlag Then ' Image de case coche Set image = LoadPicture(CurrentProject.Path & "\images\cocher.jpg") Else ' Image de case dcoche Set image = LoadPicture(CurrentProject.Path & "\images\decocher.jpg") End If End Select End Sub
Et la procdure getPressed dtermine l'tat du bouton, que l'on synchronise avec notre flag gFlag. Mise jour de l'tat
Sub Ribbon_getPressed(control As IRibbonControl, ByRef returnValue) Select Case control.Id Case "togglebutton1" returnValue = gFlag End Select End Sub
Il n'est pas utile d'employer cette procdure de rappel getPressed si l'tat du bouton est uniquement modifi par clic de l'utilisateur. Mais en dfinissant cette procdure, on peut galement modifier l'tat du bouton de ruban par code VBA : Mise jour de l'tat par code VBA
' Dfinit l'tat "cocher" gFlag = True ' Met jour le bouton bascule oRibbon.InvalidateControl "togglebutton1"
Voil donc un exemple d'utilisation de getImage. Cet exemple n'aurait pas pu tre ralis avec la fonction loadImage qui n'est appele qu'une seule fois.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Il n'y aura plus de fichiers externes. Les fichiers images peuvent tre intgrs dans un champ de type pice-jointe (nouveaut apparue avec Access 2007). Crez d'abord une table nomme TRibbonImg avec pour champs : - id : champ texte. - img : pice-jointe.
Crez ensuite un formulaire simple FrmRibbonImg contenant les deux champs de la table TRibbonImg et ayant cette table comme source (utilisez si ncessaire l'assistant de cration de formulaire). Nommez le contrle pice-jointe img.
Ajoutez chaque image dans la table. Utilisez un enregistrement par image, ne stockez pas plusieurs images dans le mme champ pice-jointe. Le champ id est utilis pour identifier l'image dans la table : vous pouvez dcider d'y mettre un id de contrle ou n'importe quel identifiant pourvu qu'il soit unique. Si vous utilisez l'identifiant du contrle, vous devrez dfinir une image par contrle mme si plusieurs contrles utilisent la mme image. Une solution simple et efficace consiste utiliser un identifiant qui sera dfini dans l'attribut tag du contrle de ruban (ou l'attribut image si on utilise loadImage). Dans cet exemple, nous ajoutons des images avec comme id le nom du fichier :
Il faut enfin, pour charger les images et les injecter dans le ruban : - ouvrir le formulaire positionn sur l'enregistrement dsir - et utiliser la mthode cache PictureDisp du contrle pice-jointe
- 11 Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Notez qu'on ouvre le formulaire en mode invisible (acHidden) car on ne souhaite pas le voir l'cran. Voici le ruban obtenu :
La transparence des images n'a, cette fois-ci encore, pas t conserve (les images gif utilises sont des images avec transparence). Nous verrons plus loin dans cet article comment conserver la transparence des images charges.
- 12 Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Avec, dans un module VBA, le code de la fonction de chargement des images : Procdure de chargement des images avec GdiPlus
Sub Dim Set End Ribbon_loadImage(imageId As String, ByRef image) loGdi as New clRibbonImage Image = loGdi.LoadFromFile(CurrentProject.Path & "\images\" & imageId) Sub
Il suffit de dclarer un objet de type clRibbonImage et de remplacer l'appel LoadPicture par un appel la fonction LoadFromFile de cet objet. Voici le ruban obtenu, compar au rsultat obtenu prcdemment avec LoadPicture :
La transparence est au rendez-vous! Il est galement possible de charger des fichiers png avec cette nouvelle fonction.
- 13 Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Avec, dans un module VBA, le code de la fonction de chargement des images : Procdure de chargement des images avec GdiPlus
Public Sub Ribbon_getImage(ByVal control As IRibbonControl, ByRef image) Dim loGdi as New clRibbonImage Set image = loGdi.LoadFromAttachment("TRibbonImg", "img", "id='" & control.Tag & "'") End Sub
Il suffit de dclarer un objet de type clRibbonImage et de remplacer l'appel LoadPicture par un appel la fonction LoadFromAttachment de cet objet. Cette fonction LoadFromAttachment demande 3 paramtres : - pTable : Nom de la table qui contient les images. - pField : Nom du champ pice-jointe. - pWhere : Clause Where pour rechercher une image en particulier. Voici le ruban obtenu, compar au rsultat obtenu prcdemment avec un formulaire masqu :
La transparence est au rendez-vous! Remarque : il est galement possible de charger des fichiers png avec cette nouvelle fonction.
- 14 Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Avec, dans un module VBA, le code de la fonction de chargement des images : Procdure de chargement des images avec GdiPlus
Sub Ribbon_loadImage(imageId As String, ByRef image) Set image = IconLoadFromFile(CurrentProject.Path & "\images\" & imageId) End Sub
Il suffit de remplacer l'appel LoadPicture par un appel la fonction IconLoadFromFile. Voici le ruban obtenu :
Notez que la fonction accepte un deuxime paramtre pIconNumber pour ventuellement prciser le numro de l'icne dans le fichier. En effet un fichier ico peut contenir plusieurs images de tailles diffrentes. Dans la base de donnes en tlchargement, vous trouverez un exemple d'utilisation de ce paramtre.
Avec, dans un module VBA, le code de la fonction de chargement des images : Procdure de chargement des images avec GdiPlus
Public Sub Ribbon_getImage(ByVal control As IRibbonControl, ByRef image) Set image = IconLoadFromAttachment("TRibbonImg", "img", "id='" & control.Tag & "'") End Sub
Il suffit de remplacer l'appel LoadPicture par un appel la fonction IconLoadFromAttachment. Cette fonction IconLoadFromAttachment demande au minimum 3 paramtres : - pTable : Nom de la table qui contient les images. - pField : Nom du champ pice-jointe. - pWhere : Clause Where pour rechercher une image en particulier.
- 15 Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.
Gestion des images dans le ruban Access par Thierry GASPERMENT (arkham46.developpez.com/)
Voici le ruban obtenu; le rsultat est identique ce qu'on obtient avec des fichiers externes :
Notez que la fonction accepte un dernier paramtre pIconNumber pour ventuellement prciser le numro de l'icne dans le fichier. En effet un fichier ico peut contenir plusieurs images de tailles diffrentes. Dans la base de donnes en tlchargement, vous trouverez un exemple d'utilisation de ce paramtre. On peut par exemple utiliser un numro d'icne pour un bouton de taille normal et un autre pour un bouton de taille large.
X - Conclusion
On a donc notre disposition plusieurs mthodes pour grer les images du ruban. Il faut faire un choix en fonction de notre besoin : - images standards ou besoin d'images personnalises ? - images intgres ou fichiers externes ? - besoin de transparence ou non ? J'invite les plus courageux dcouvrir (ou re-dcouvrir) les modules de classe clGdiplus et clGdi32. (Le module clRibbonImage est en fait une version remanie de clGdiplus.) Ces modules de classe permettent de gnrer des images et de les utiliser ensuite dans le ruban grce leur mthode GetIPictureDisp. Toutes les fantaisies deviennent possibles, mme d'afficher un gif anim dans le ruban grce GdiPlus.
XI - Les tlchargements
Tlcharger le module de classe pour GdiPlus au format texte (secours HTTP) Tlcharger le module pour grer les icnes au format texte (secours HTTP) Tlcharger la base d'exemples au format ACCESS 2007 (secours HTTP)
- 16 Les sources prsentes sur cette pages sont libre de droits, et vous pouvez les utiliser votre convenance. Par contre cette page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Thierry GASPERMENT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Droits de diffusion permanents accords developpez LLC.