Eigene Icons / Bilder in Ribbon Controls verwenden
In Ribbon Controls können auch eigene Icons / Bilder verwendet werden. Dazu benötigen Sie im Ribbon XML den Callback "getImage" den Sie anstelle von imageMSO="xxx" verwenden.
In der Beispieldatenbank verwende ich dazu die Funktion "getAppPath()" um den Datenbankpfad zu erhalten. Die Icons sind im Filesystem im Datenbankpfad abgelegt. Den Bildnamen incl. Endung lege ich in der XML Datei im Attribut "tag" ab.
Im Ribbon XML ist die Synax wie folgt:
<button id="MyButton" label="Mein Button" size="large" getImage="getImages" tag="ga.ico" onAction="MyButtonCallbackOnAction" />
Zwei Funktionen für das Callback "getImages" um eigene Bilder zu laden:
Entweder über Access Bordmittel (ohne Transparenz) :
Public Sub getImages(control As IRibbonControl, _ ByRef image) ' Läd ein Bild ohne Transparenz in das Ribbon ' Achtung nur gültige Bildformate verwenden (siehe OH) Set Image = LoadPicture(getAppPath & control.Tag) ' oder ein ImageMso image = "HappyFace" End Sub
oder Über GDI+ (Modul "basGDI" wird dazu benötigt. Transparenz wird unterstützt, mehr Bildformate möglich)
Benötigte Funktionen:
Public Sub getImages(control As IRibbonControl, _ ByRef image) ' Läd ein Bild mit Transparenz in das Ribbon ' Modul basGDI wird dafür benötigt Set image = LoadPictureGDIP(getAppPath & control.Tag) ' oder ein ImageMso image = "HappyFace" End Sub
Hilfsfunktion in Standard Modul:
Public Function getAppPath() As String ' Gibt den aktuelle Datenbank Pfad zurück getAppPath = Left(CurrentDb.Name, Len(CurrentDb.Name) _ - Len(Dir(CurrentDb.Name))) End Function
Das Modul basGDI wird nur für das zweites Beispiel benötigt. Dieses ist in der Beispieldatenbank enthalten.
Download: nur das Modul für Access 2007, Access 2010 x86, Access 2010 x64, Access 2013 x86 and Access 2013 x64
Das Modul ist von: Sascha Trowitzsch. Sie können es sich auch dort herunterladen. Alternativ können Sie sich auch das Beispiel Projekt von ActiveVB entsprechend anpassen.