|
|
TwipsFromFontTwipsFromFont
Diese Funktion ist in folgenden Access-Versionen verfügbar: 2000, 2002, 2003, 2007, 2010
Mit dieser Funktion ist es möglich, die Breite und Höhe eines bestimmten Textes mit bestimmten Textattributen zu ermitteln. Das Ergebnis wird in Twips angegeben.
Function TwipsFromFont(FontName As String, Size As Long, Weight As Long, Italic As Boolean, Underline As Boolean, Cch As Long, Caption As String, MaxWidthCch As Long, dx As Long, dy As Long) As Boolean
True, wenn die Berechnung erfolgen konnte.
'Variablen deklarieren
Dim strCaption As String Dim strFontName As String Dim lngSGroesse As Long Dim lngSBreite As Long Dim fItalic As Boolean Dim fUnderline As Boolean Dim lngBreite As Long Dim lngHoehe As Long 'Werte übernehmen strCaption = "Dies ist ein Beispiel" strFontName = "Arial" lngSGroesse = 11 lngSBreite = 400 fItalic = False fUnderline = False Wizhook.Key = 51488399 If Wizhook.TwipsFromFont(strFontName, lngSGroesse, lngSBreite, fItalic, _ fUnderline, 0, strCaption, 0, lngBreite, lngHoehe) = True Then MsgBox "Der genannte Text hat mit den gewählten" & vbCrLf & _ "Schriftattributen folgende Ausmaße:" & vbCrLf & vbCrLf & _ "Breite: " & lngBreite & vbCrLf & _ "Höhe: " & lngHoehe Else MsgBox "Berechnung fehlgeschlagen", vbExclamation End If
Im Normalfall wird der Text aus dem Parameter "Caption" für die Berechnung herangezogen. Wenn für den Parameter "Cch" ein Wert ungleich 0 angegeben wird, wird der Text im Parameter "Caption" ignoriert. Stattdessen wird die Anzahl aus dem Parameter "Cch" als Zeichen mit durchschnittlicher Breite für die Berechnung berücksichtigt. Der im Parameter "MaxWidthCch" angegebene Wert wird nur berücksichtigt, wenn der Parameter "Cch" einen Wert ungleich 0 hat. In diesem Fall wird die Anzahl aus dem Parameter "MaxWidthCch" als Zeichen mit maximaler Breite für die Berechnung berücksichtigt. Die Gesamtzahl der Zeichen steht in diesem Fall im Parameter "Cch". Es werden dann "Cch" - "MaxWidthCch" Zeichen mit durchschnittlicher Breite und "MaxWidthCch" Zeichen mit maximaler Breite berücksichtigt. Man kann diese Funktion beispielsweise in folgenden Fällen einsetzen:
Ergänzung vonm Olaf Morlock: Soeben stellte ich fest, dass Wizhook-Objekt - TwipsFromFont entgegen der Dokumentation
keine Long- sondern Integer-Werte liefert. (Textbreite 32880 liefert in dx den Wert -32656) Das Problem löse ich so: dx = CLng("&h0000" & Right(Hex(dx), 4))
dy = CLng("&h0000" & Right(Hex(dy), 4)) Damit habe ich immer noch keine Long-Werte aber die mögliche Länge (65535) zumindest verdoppelt.
|
02.10.2020: 06.11.2019: 06.05.2017: 27.03.2016: 23.05.2014: |
|
|