添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

CreateFont Function

Declare Function CreateFont Lib "gdi32.dll" Alias "CreateFontA" (ByVal nHeight As Long, ByVal nWidth As Long, ByVal nEscapement As Long, ByVal nOrientation As Long, ByVal fnWeight As Long, ByVal fdwItalic As Long, ByVal fdwUnderline As Long, ByVal fdwStrikeOut As Long, ByVal fdwCharSet As Long, ByVal fdwOutputPrecision As Long, ByVal fdwClipPrecision As Long, ByVal fdwQuality As Long, ByVal fdwPitchAndFamily As Long, ByVal lpszFace As String) As Long

Platforms

  • Windows 95: Supported.
  • Windows 98: Supported.
  • Windows NT: Requires Windows NT 3.1 or later.
  • Windows 2000: Supported.
  • Windows CE: Not Supported.

    Description & Usage

    CreateFont creates a font object, which allows a font with given attributes to be used to draw text on a device . The font created by the function is the one which most closely matches the attributes of the logical font information passed via the numerous parameters. After your program is finished using the font, it must be deleted by using DeleteObject .

    Return Value

    If an error occured, the function returns 0 ( Windows NT, 2000: use GetLastError to get the error code). If successful, the function returns a handle to the font just created.

    Visual Basic-Specific Issues

    None.

    Parameters

    nHeight
    The height of the font's character cell, in logical units (also known as the em height). If positive, the font mapper converts this value directly into device units and matches it with the cell height of the possible fonts. If 0, the font mapper uses a default character height. If negative, the font mapper converts the absolute value into device units and matches it with the character height of the possible fonts.
    nWidth
    The average width of the font's characters. If 0, the font mapper tries to determine the best value.
    nEscapement
    The angle between the font's baseline and escapement vectors, in units of 1 / 10 degrees. Windows 95, 98: This must be equal to lfOrientation .
    nOrientation
    The angle between the font's baseline and the device's x-axis, in units of 1 / 10 degrees. Windows 95, 98: This must be equal to lfEscapement .
    fnWeight
    One of the following flags specifying the boldness (weight) of the font:
    FW_DONTCARE
    Default weight.
    FW_THIN
    Thin weight.
    FW_EXTRALIGHT
    Extra-light weight.
    FW_ULTRALIGHT
    Same as FW_EXTRALIGHT.
    FW_LIGHT
    Light weight.
    FW_NORMAL
    Normal weight.
    FW_REGULAR
    Same as FW_NORMAL.
    FW_MEDIUM
    Medium weight.
    FW_SEMIBOLD
    Semi-bold weight.
    FW_DEMIBOLD
    Same As FW_SEMIBOLD.
    FW_BOLD
    Bold weight.
    FW_EXTRABOLD
    Extra-bold weight.
    FW_ULTRABOLD
    Same as FW_EXTRABOLD.
    FW_HEAVY
    Heavy weight.
    FW_BLACK
    Same as FW_HEAVY.
    fdwItalic
    A non-zero value if the font is italicized, 0 if not.
    fdwUnderline
    A non-zero value if the font is underlined, 0 if not.
    fdwStrikeOut
    A non-zero value if the font is striked out, 0 if not.
    fdwCharSet
    Exactly one of the following flags specifying the character set of the font:
    ANSI_CHARSET
    ANSI character set.
    ARABIC_CHARSET
    Windows NT, 2000: Arabic character set.
    BALTIC_CHARSET
    Windows 95, 98: Baltic character set.
    CHINESEBIG5_CHARSET
    Chinese Big 5 character set.
    DEFAULT_CHARSET
    Default character set.
    EASTEUROPE_CHARSET
    Windows 95, 98: Eastern European character set.
    GB2312_CHARSET
    GB2312 character set.
    GREEK_CHARSET
    Windows 95, 98: Greek character set.
    HANGEUL_CHARSET
    HANDEUL character set.
    HEBREW_CHARSET
    Windows NT, 2000: Hebrew character set.
    JOHAB_CHARSET
    Windows 95, 98: Johab character set.
    MAC_CHARSET
    Windows 95, 98: Mac character set.
    OEM_CHARSET
    Original equipment manufacturer (OEM) character set.
    RUSSIAN_CHARSET
    Windows 95, 98: Russian character set.
    SHIFTJIS_CHARSET
    ShiftJis character set.
    SYMBOL_CHARSET
    Symbol character set.
    THAI_CHARSET
    Windows NT, 2000: Thai character set.
    TURKISH_CHARSET
    Windows 95, 98: Turkish character set.
    fdwOutPrecision
    Exactly one of the following flags specifying the desired precision (closeness of the match) between the logical font ideally described by the structure and the actual logical font. This value is used by the font mapper to produce the logical font.
    OUT_DEFAULT_PRECIS
    The default font mapping behavior.
    OUT_DEVICE_PRECIS
    Choose a device font if there are multiple fonts in the system with the same name.
    OUT_OUTLINE_PRECIS
    Windows NT, 2000: Choose a TrueType or other outline-based font.
    OUT_RASTER_PRECIS
    Choose a raster font if there are multiple fonts in the system with the same name.
    OUT_STRING_PRECIS
    Raster font (used for enumeration only).
    OUT_STROKE_PRECIS
    Windows 95, 98: Vector font (used for enumeration only). Windows NT, 2000: TrueType, outline-based, or vector font (used for enumeration only).
    OUT_TT_ONLY_PRECIS
    Choose only a TrueType font.
    OUT_TT_PRECIS
    Choose a TrueType font if there are multiple fonts in the system with the same name.
    fdwClipPrecision
    Exactly one of the following flags specifying the clipping precision to use when the font's characters must be clipped:
    CLIP_DEFAULT_PRECIS
    The default clipping behavior.
    CLIP_EMBEDDED
    This flag must be set for an embedded read-only font.
    CLIP_LH_ANGLES
    The direction of any rotations is determined by the coordinate system (or else all rotations are counterclockwise).
    CLIP_STROKE_PRECIS
    Raster, vector, or TrueType font (used for enumeration only).
    fdwQuality
    Exactly one of the following flags specifying the output quality of the logical font as compared to the ideal font:
    ANTIALIASED_QUALITY
    Windows 95, 98, NT 4.0 or later, 2000: The font is always antialiased if possible.
    DEFAULT_QUALITY
    The default quality: the appearance of the font does not matter.
    DRAFT_QUALITY
    The appearance of the font is less important then in PROOF_QUALITY.
    NONANTIALIASED_QUALITY
    Windows 95, 98, NT 4.0 or later, 2000: The font is never antialiased.
    PROOF_QUALITY
    The quality of the appearance of the font is more important than exactly matching the specified font attributes.
    fdwPitchAndFamily
    A bitwise OR combination of exactly one *_PITCH flag specifying the pitch of the font and exactly one FF_* flag specifying the font face family of the font:
    DEFAULT_PITCH
    The default pitch.
    FIXED_PITCH
    Fixed pitch.
    VARIABLE_PITCH
    Variable pitch.
    FF_DECORATIVE
    Showy, decorative font face.
    FF_DONTCARE
    Do not care about the font face.
    FF_MODERN
    Modern font face (monospaced, sans serif font).
    FF_ROMAN
    Roman font face (proportional-width, serif font).
    FF_SCRIPT
    Script font face which imitates script handwriting.
    FF_SWISS
    Swiss font face (proportional-width, sans serif font).
    lpszFace
    The name of the font face to use.

    Constant Definitions

    Const FW_DONTCARE = 0
    Const FW_THIN = 100
    Const FW_EXTRALIGHT = 200
    Const FW_ULTRALIGHT = 200
    Const FW_LIGHT = 300
    Const FW_NORMAL = 400
    Const FW_REGULAR = 400
    Const FW_MEDIUM = 500
    Const FW_SEMIBOLD = 600
    Const FW_DEMIBOLD = 600
    Const FW_BOLD = 700
    Const FW_EXTRABOLD = 800
    Const FW_ULTRABOLD = 800
    Const FW_HEAVY = 900
    Const FW_BLACK = 900
    Const ANSI_CHARSET = 0
    Const ARABIC_CHARSET = 178
    Const BALTIC_CHARSET = 186
    Const CHINESEBIG5_CHARSET = 136
    Const DEFAULT_CHARSET = 1
    Const EASTEUROPE_CHARSET = 238
    Const GB2312_CHARSET = 134
    Const GREEK_CHARSET = 161
    Const HANGEUL_CHARSET = 129
    Const HEBREW_CHARSET = 177
    Const JOHAB_CHARSET = 130
    Const MAC_CHARSET = 77
    Const OEM_CHARSET = 255
    Const RUSSIAN_CHARSET = 204
    Const SHIFTJIS_CHARSET = 128
    Const SYMBOL_CHARSET = 2
    Const THAI_CHARSET = 222
    Const TURKISH_CHARSET = 162
    Const OUT_DEFAULT_PRECIS = 0
    Const OUT_DEVICE_PRECIS = 5
    Const OUT_OUTLINE_PRECIS = 8
    Const OUT_RASTER_PRECIS = 6
    Const OUT_STRING_PRECIS = 1
    Const OUT_STROKE_PRECIS = 3
    Const OUT_TT_ONLY_PRECIS = 7
    Const OUT_TT_PRECIS = 4
    Const CLIP_DEFAULT_PRECIS = 0
    Const CLIP_EMBEDDED = 128
    Const CLIP_LH_ANGLES = 16
    Const CLIP_STROKE_PRECIS = 2
    Const ANTIALIASED_QUALITY = 4
    Const DEFAULT_QUALITY = 0
    Const DRAFT_QUALITY = 1
    Const NONANTIALIASED_QUALITY = 3
    Const PROOF_QUALITY = 2
    Const DEFAULT_PITCH = 0
    Const FIXED_PITCH = 1
    Const VARIABLE_PITCH = 2
    Const FF_DECORATIVE = 80
    Const FF_DONTCARE = 0
    Const FF_ROMAN = 16
    Const FF_SCRIPT = 64
    Const FF_SWISS = 32

    Example

    ' This code is licensed according to the terms and conditions listed here.
    ' Draw the alphabet in the upper-left corner of window Form1 using
    ' the goofy Symbol font.
    Dim hFont As Long  ' handle to the Symbol font which is created
    Dim hOldFont As Long  ' handle to the font previously selected by Form1
    Dim retval As Long  ' return value
    ' Create a font object using the Symbol font.  Only apply boldface
    ' formatting to the font -- use defaults for most other settings.
    hFont = CreateFont(0, 0, 0, 0, FW_BOLD, 0, 0, 0, SYMBOL_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH Or FF_DECORATIVE, "Symbol")
    ' Select that font for use with Form1, saving the previous selection.
    hOldFont = SelectObject(Form1.hDC, hFont)
    ' Draw the alphabet near the upper-left corner.
    retval = TextOut(Form1.hDC, 10, 10, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 26)
    ' Select the previous font back.
    retval = SelectObject(Form1.hDC, hOldFont)
    ' Delete the font we created to free up resources.
    retval = DeleteObject(hFont)

    See Also

    CreateFontIndirect

    Category

    Fonts & Text

    Go back to the alphabetical Function listing.
    Go back to the Reference section index.

    Last Modified: October 13, 1999
    This page is copyright © 1999 Paul Kuliniewicz.

  •