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
|
返回值
备注
查看附录的完整字体列表以了解各个 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
----------------------------------------
|