Funktionreferenz


_WinAPI_CreateFont

Beschreibung anzeigen in

Erstellt eine logische Schriftart mit der angegebenen Charakteristik

#include <WinAPIGdi.au3>
_WinAPI_CreateFont ( $iHeight, $iWidth [, $iEscape = 0 [, $iOrientn = 0 [, $iWeight = $FW_NORMAL [, $bItalic = False [, $bUnderline = False [, $bStrikeout = False [, $iCharset = $DEFAULT_CHARSET [, $iOutputPrec = $OUT_DEFAULT_PRECIS [, $iClipPrec = $CLIP_DEFAULT_PRECIS [, $iQuality = $DEFAULT_QUALITY [, $iPitch = 0 [, $sFace = 'Arial']]]]]]]]]]]] )

Parameter

$iHeight Höhe der Schriftart
$iWidth Mittlere Zeichenbreite
$iEscape [optional] Fluchtwinkel
$iOrientn [optional] Grundlinienausrichtung
$iWeight [optional] Schriftgewicht, es können folgende Konstanten verwendet werden:
    $FW_DONTCARE - 0
    $FW_THIN - 100
    $FW_EXTRALIGHT - 200
    $FW_LIGHT - 300
    $FW_NORMAL - 400
    $FW_MEDIUM - 500
    $FW_SEMIBOLD - 600
    $FW_BOLD - 700
    $FW_EXTRABOLD - 800
    $FW_HEAVY - 900
$bItalic [optional] kursiv
$bUnderline [optional] unterstrichen
$bStrikeout [optional] durchgestrichen
$iCharset [optional] Legt den Zeichensatz fest. Folgende Werte sind vordefiniert:
    $ANSI_CHARSET - 0
    $BALTIC_CHARSET - 186
    $CHINESEBIG5_CHARSET - 136
    $DEFAULT_CHARSET - 1
    $EASTEUROPE_CHARSET - 238
    $GB2312_CHARSET - 134
    $GREEK_CHARSET - 161
    $HANGEUL_CHARSET - 129
    $MAC_CHARSET - 77
    $OEM_CHARSET - 255
    $RUSSIAN_CHARSET - 204
    $SHIFTJIS_CHARSET - 128
    $SYMBOL_CHARSET - 2
    $TURKISH_CHARSET - 162
    $VIETNAMESE_CHARSET - 163
$iOutputPrec [optional] Legt die Ausgabegenauigkeit fest:
    $OUT_CHARACTER_PRECIS - Unbenutzt
    $OUT_DEFAULT_PRECIS - Legt das Standardverhalten des Font-Mappers fest
    $OUT_DEVICE_PRECIS - Weist den Font-Mapper an, Geräteschriften zu verwenden, wenn das System mehrere Schriftarten gleichen Namens enthält
    $OUT_OUTLINE_PRECIS - Windows 2000/XP: Weist den Font-Mapper an, aus TrueType- oder anderen Outline-Schriftarten zu wählen
    $OUT_PS_ONLY_PRECIS - Windows 2000/XP: Weist den Font-Mapper an, nur aus PostScript-Schriftarten zu wählen. Wenn keine PostScript-Schriften installiert sind, kehrt der Font-Mapper zum Standardverhalten zurück
    $OUT_RASTER_PRECIS - Weist den Font-Mapper an, Rasterschriften zu verwenden, wenn das System mehrere Schriftarten gleichen Namens enthält
    $OUT_STRING_PRECIS - Dieser Wert wird nicht vom Font-Mapper verwendet, aber er wird zurückgegeben, wenn Rasterschriften aufgelistet werden
    $OUT_STROKE_PRECIS - Windows 2000/XP: Dieser Wert wird nicht vom Font-Mapper verwendet, aber er wird zurückgegeben, wenn TrueType-Schriften, andere Outline-Schriften und Vektor-Schriften aufgelistet werden
    $OUT_TT_ONLY_PRECIS - Weist den Font-Mapper an, nur aus TrueType-Schriftarten zu wählen. Wenn keine TrueType-Schriften installiert sind, kehrt der Font-Mapper zum Standardverhalten zurück
    $OUT_TT_PRECIS - Weist den Font-Mapper an, TrueType-Schriften zu verwenden, wenn das System mehrere Schriftarten gleichen Namens enthält
$iClipPrec [optional] Legt die Abschneide-Genauigkeit fest, kann einer oder mehrere der folgenden Werte enthalten:
    $CLIP_CHARACTER_PRECIS - Unbenutzt
    $CLIP_DEFAULT_PRECIS - Legt das Standardverhalten fest
    $CLIP_EMBEDDED - Dieses Flag muss angegeben werden, wenn eingebette (schreibgeschützte) Schriften verwendet werden
    $CLIP_LH_ANGLES - Die Neigungsrichtung aller Schriftarten hängt von der Ausrichtung des Koordinatensystems ab (linkshändig oder rechtshändig).
    Wenn nicht verwendet, werden Geräteschriften stets entgegen dem Uhrzeigersinn geneigt, alle anderen Schriften jedoch abhängig von der Ausrichtung des Koordinatensystems
    $CLIP_MASK - Unbenutzt
    $CLIP_STROKE_PRECIS - Dieser Wert wird nicht vom Font-Mapper verwendet, aber er wird zurückgegeben, wenn Rasterschriften, TrueType-Schriften oder
    Vektor-Schriften aufgelistet werden.
    Windows 2000/XP: Aus Kompatibilitätsgründen wird dieser Wert immer zurückgegeben, wenn Schriftarten aufgelistet werden
    $CLIP_TT_ALWAYS - Unbenutzt
$iQuality [optional] Legt die Ausgabequalität fest. Kann einer der folgenden Werte sein:
    $ANTIALIASED_QUALITY - Windows NT 2000 und später: Die Schrift wird weich gezeichnet (Antialiasing oder Smoothing), wenn die Schrift es unterstützt und die Schriftgröße nicht zu klein oder groß ist.
    Zusätzlich muss der Auswahl einer TrueType-Schrift im Bildschirm-Gerätekontext der Vorrang vor einer Verwendung in der DIB-Sektion gegeben werden, sonst wird das Antialiasing nicht funktionieren!
    $DEFAULT_QUALITY - Das Aussehen der Schrift spielt keine Rolle
    $DRAFT_QUALITY - Das Aussehen der Schrift ist weniger wichtig, als wenn $PROOF_QUALITY benutzt werden würde.
    Für GDI-Rasterschriften wird die Skalierung verwendet, d.h. es sind mehr Schriftgrößen verfügbar, aber die Qualität dürfte geringer sein.
    Fette, kursive, unter- und durchgestrichene Schriften werden, falls notwendig, generiert.
    $NONANTIALIASED_QUALITY - Windows 2000 und später: Die Schrift wird nicht weich gezeichnet
    $PROOF_QUALITY - Die Darstellungsqualität der Zeichen der Schrift ist wichtiger als die exakte Übereinstimmung mit den logischen Schriftattributen.
    Für GDI-Rasterschriften wird keine Skalierung verwendet, es wird stattdessen die Schriftgröße verwendet, die der gewählten am nächsten ist.
    Obwohl die Schriftgröße möglicherweise nicht genau passt, wenn $PROOF_QUALITY verwendet wird, ist die Schriftqualität hoch und das Erscheinungsbild weist keine Verzerrungen auf.
    Fette, kursive, unter- und durchgestrichene Schriften werden, falls notwendig, generiert.
$iPitch [optional] Legt den Zeichenabstand und die Schriftfamilie fest. Die beiden niederwertigsten Bits geben den Zeichenabstand an und können einen der folgenden Werte annehmen:
    $DEFAULT_PITCH, $FIXED_PITCH, $VARIABLE_PITCH
    Die vier höherwertigsten Bits geben die Schriftfamilie an und können einen der folgenden Werte annehmen:
    $FF_DECORATIVE - Neuartige Schriften. Old English ist ein Beispiel
    $FF_DONTCARE - Die Standardschrift wird benutzt
    $FF_MODERN - Schriften mit konstanter Zeichenbreite, mit oder ohne Serifen. Pica, Elite und Courier New sind Beispiele
    $FF_ROMAN - Schriften mit variabler Zeichenbreite und mit Serifen. MS Serif zum Beispiel
    $FF_SCRIPT - Schriften, die wie handgeschrieben aussehen sollen. Script und Cursive sind Beispiele
    $FF_SWISS - Schriften mit variabler Zeichenbreite und ohne Serifen. MS Sans Serif zum Beispiel
$sFace [optional] Schriftbild-Name

Rückgabewert

Erfolg: Handle zu einer logischen Schriftart
Fehler: 0

Bemerkungen

Wenn die Schrift nicht mehr benötigt wird, ist sie durch Aufruf von _WinAPI_DeleteObject() zu löschen.
Benötigt die FontConstants.au3 für die vordefinierten Konstanten.

Siehe auch

Suche nach CreateFont in der MSDN Bibliothek.

Beispiel

#include <FontConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPIGdiDC.au3>
#include <WinAPIHObj.au3>
#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>

Global $tRECT, $g_hFont, $g_hOldFont, $g_hDC

HotKeySet("{ESC}", "_Exit")

$tRECT = DllStructCreate($tagRect)
DllStructSetData($tRECT, "Left", 5)
DllStructSetData($tRECT, "Top", 5)
DllStructSetData($tRECT, "Right", 300)
DllStructSetData($tRECT, "Bottom", 50)

$g_hDC = _WinAPI_GetDC(0)
$g_hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
        $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$g_hOldFont = _WinAPI_SelectObject($g_hDC, $g_hFont)

_WinAPI_SetTextColor($g_hDC, 0x0000FF)
_WinAPI_SetBkColor($g_hDC, 0x000000)
; Kommentiere die nächste Zeile aus, um einen schwarzen statt transparenten Hintergrund zu erhalten.
_WinAPI_SetBkMode($g_hDC, $TRANSPARENT)

While 1
    _WinAPI_DrawText($g_hDC, "www.autoit.de", $tRECT, $DT_CENTER)
    Sleep(7000)
    _Exit()
WEnd

Func _Exit()
    _WinAPI_SelectObject($g_hDC, $g_hOldFont)
    _WinAPI_DeleteObject($g_hFont)
    _WinAPI_ReleaseDC(0, $g_hDC)
    _WinAPI_InvalidateRect(0, 0)
    $tRECT = 0
    Exit
EndFunc   ;==>_Exit