原文链接 -> 传送门
消息含义:
设置某个控件绘制文本时使用的字体。
消息定义:
#define WM_SETFONT 0x0030
参数解析:
wParam:定义一个指向字体的句柄(HFONT),如果该参数的值是 NULL,则控件使用系统默认的字体来绘制文本。
lParam:
1. lParam 参数的次级指令指定一旦设置字体时是否立即重绘;
2. 如果这个参数为 TRUE,控件重绘自己。
返回值:
这条信息并不返回一个数值。
备注:
1. 该 WM_SETFONT 消息适用于所有控件,而不仅仅是那些在对话框中。
2. 对话框控件所有者设置控件的字体的的最佳时间是当它接收到 WM_INITDIALOG 消息。
3. 应用程序应该调用 DeleteObject 函数删除不再需要它的字体。例如,当它破坏了控件之后。
4. 作为接收到该消息的结果,控件的大小不会改变。为了避免剪裁的文本不符合控制的边界,它设置字体之前,应用程序应该纠正控制窗口的大小。
5. 当一个对话框使用 DS_SETFONT 风格来设置其控件中的文字,系统在创建控件之前,发送 WM_SETFONT 消息对话框。一个应用程序可以创建一个对话框,对话框通过调用以下函数使自身包含 DS_SETFONT 风格:
· CreateDialogIndirect
· CreateDialogIndirectParam
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |




