Function Reference

首页  后退  前进

GUISetFont

 

设置窗口默认字体.

 

GUISetFont ( size [, weight [, attribute [, fontname [, winhandle [, quality]]]]] )

参数

size

字体大小 (default(默认) = 8.5)

weight

[可选] 字体笔画粗细度范围 0 到 1000. 例如 400 为正常, 700 为粗体. 如设置为 0, 则使用一个默认值.

可使用下列定义值:

   $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

 

常量定义在 FontConstants.au3

attribute

[可选] 定义字体属性, 可以是以下值的组合:

   $GUI_FONTNORMAL (0) = 正常 (默认)

   $GUI_FONTITALIC (2) = 斜体

   $GUI_FONTUNDER (4) = 下划线

   $GUI_FONTSTRIKE (8) = 删除线

 

常量定义在 GUIConstantsEx.au3

fontname

[可选] 字体名称. (若设为"", 或未发现目标字体, 则使用操作系统的默认 GUI 字体).

winhandle

[可选]GUICreate() 函数返回的窗口句柄 (默认为先前使用的窗口).

quality

[可选] 字体质量. 可使用下列值:

   $DEFAULT_QUALITY (0) = 忽略字体外观质量.

   $DRAFT_QUALITY (1) = 字体的外观较使用 $PROOF_QUALITY 时并不那么重要. 对于 GDI 光栅字体, 启用缩放. 这意味着可用更多的大小字体. 但质量可能会降低. 如果必要, 可用于粗体, 斜体, 下划线和删除线字体的合成.

   $PROOF_QUALITY (2) = (默认) 字体的字符质量是比精确匹配逻辑字体属性更重要. 对于 GDI 光栅字体, 禁用缩放和选择最接近大小的字体. 当使用 $PROOF_QUALITY 时, 虽然不可能确切地映射所选取的字体大小, 但字体的质量很高,没有失真的外观. 如果必要, 可用于粗体、 斜体、 下划线和删除线的合成字体.

   $NONANTIALIASED_QUALITY (3) = 字体没有抗锯齿效果.

   $ANTIALIASED_QUALITY (4) = 如果字体支持和字体不是太小或太大, 则字体始终有抗锯齿效果.

   $CLEARTYPE_QUALITY (5) = 文本渲染(如果可能)使用 ClearType 抗锯齿方法. 参见 MSDN 的 LOGFONT 有关 cleartype 的详细信息.

如果 $ANTIALIASED_QUALITY 与 $NONANTIALIASED_QUALITY 都不使用, 则仅当用户在控制面板中选择平滑屏幕字体时, 字体才有反失真效果.

常量定义在 FontConstants.au3

返回值

成功:

返回 1.

失败:

返回 0.

备注

查看附录的完整字体列表以了解各个 Windows 系统支持的字体.

 

字体大小可以是小数, 例如 8.5.

 

某些标记(label)这样的控件默认使用 8.5 代替 9 以适应 Windows 主题的值.

 

质量参数可以参考 MSDN, 某些 windows XP 必须设置 CLEARTYPE_QUALITY = 5

相关

GUICtrlSetFont

函数示例

#include <GUIConstantsEx.au3>
#include <FontConstants.au3>
Example()
Func Example()
    GUICreate("My GUI default font") ; will create a dialog box that when displayed is centered
    Local $sFont = "Comic Sans MS"
    GUISetFont(9,  $FW_NORMAL, $GUI_FONTUNDER, $sFont) ; will display underlined characters
    GUICtrlCreateLabel("underlined label", 10, 20)
    GUISetFont(9,  $FW_NORMAL, $GUI_FONTITALIC, $sFont) ; will display underlined characters
    GUICtrlCreateLabel("italic label", 10, 40)
    GUISetFont(9,  $FW_NORMAL, $GUI_FONTSTRIKE, $sFont) ; will display underlined characters
    GUICtrlCreateLabel("strike label", 10, 60)
    GUISetState(@SW_SHOW)
    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd
    GUIDelete()
EndFunc   ;==>Example

----------------------------------------