应用程序发送WM_SETFONT消息以指定控件在绘制文本时要使用的字体。
WM_SETFONT
wParam = (WPARAM) hfont; //处理字体
lParam = MAKELPARAM(fRedraw, 0); //重绘旗帜
参数
【HFONT】
价值【wParam中】.标识字体。如果此参数为NULL,则控件使用默认系统字体绘制文本。
【fRedraw】
价值【lParam的】.指定在设置字体后是否立即重绘控件。将【fRedraw】参数设置为TRUE会导致控件重绘。
返回值
此消息不返回值。
备注
WM_SETFONT消息适用于所有控件,而不仅仅是对话框中的控件。
对话框控件的所有者设置控件的字体的最佳时间是收到WM_INITDIALOG消息时。应用程序应调用DeleteObject函数,以便在不再需要时删除该字体;例如,在它破坏控制之后。
由于接收到该消息,控件的大小不会改变。为了避免剪切不符合控件边界的文本,应用程序应在设置字体之前更正控制窗口的大小。
当对话框使用DS_SETFONT样式来设置其控件中的文本时,Windows会在创建控件之前将WM_SETFONT消息发送到对话框过程。应用程序可以通过调用以下任何函数来创建一个包含DS_SETFONT样式的对话框:
*CreateDialogIndirect
*CreateDialogIndirectParam
*DialogBoxIndirect
*DialogBoxIndirectParam
也可以看看
CreateDialogIndirect, CreateDialogIndirectParam, DeleteObject, DialogBoxIndirect, DialogBoxIndirectParam, WM_INITDIALOG, DLGTEMPLATE