Problemstellung:
Temporäres installieren von TrueTypeFonts unter MS-Access
Voraussetzungen:
Das Bsp ist ab A97 lauffähig.
Funktionsweise:
Die Installation erfolgt mittels der API-Funktion "AddFontResource" aus der gdi32.dll
Im Bsp selbst kommen eine ImageList und eine ImageCombo zum Einsatz.
Sie werden für die Darstellung der im System vorhandenen Laufwerke eingesetzt.
Da beide Steuerelemente nicht zur Standardausstattung von Access gehören sondern nur in
den Dev. Versionen bzw. VB enthalten sind, sollen sie hier unbetrachtet bleiben.
Auch den Datei-Öffnen Dialog lasse ich hier in der Betrachtung weg, da dies im allg. bekannt sein dürfte.
Kommen wir jetzt zum eigentlichen hinzufügen des Fonts.
Um die API-Funktion zu nutzen, muss diese im Modulkopf deklariert werden:
Wobei zu beachten wäre, wenn die Deklaration im Formular erfolgt, das es dann
"Private Declare Function" lauten muss.
Declare Function AddFontResource Lib "gdi32.dll" _ Alias "AddFontResourceA" (ByVal lpFileName As String) _ As Long
Die API-Funktion selbst gibt einen Long-Wert zurück, dieser gibt an ob das Hinzufügen des Fonts erfolgreich war oder nicht. 0=Fehler, -1=Erfolg
Dim Retval As Long Retval = AddFontResource(Me.Dateipfad) If Retval = 0 Then MsgBox "Die Funktion ist gescheitert", vbCritical, "Fehler" Else MsgBox "Es wurde " & Retval & " Font hinzugefügt.", _ vbInformation, "Font hinzugefügt" End If
Auf ein Entfernen des Fonts wurde bewußt verzichtet, da die Installation nur temporär erfolgt und
alle hinzugefügten Fonts nach einem Systemneustart wieder deinstalliert sind.
Wer trotzdem daran Interesse hat, mit der API-Funktion "RemoveFontResource" wäre auch dies möglich.
Temporäre Installation von TrueTypeFonts
ab A97
Die Zip-Datei enthält ein Version für A97 und eine ab A00
Ähnliche Artikel
Weiterlesen...