WM_SETFONT

【勇芳软件工作室】汉化HomePreviousNext

应用程序发送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