默认情况下,Windows使用系统字体在对话框中绘制所有文本。应用程序可以通过为对话框设置DS_SETFONT样式并指定点大小和字体名称来指示Windows使用其他字体。虽然对话框模板可以指定一个字体,但Windows始终使用系统字体作为对话框的标题和菜单; DS_SETFONT样式不会改变这一点。
当指定DS_SETFONT样式时,系统会在创建控件时向对话框过程和每个控件发送WM_SETFONT消息。对话框过程负责保存使用WM_SETFONT消息传递的字体句柄,并在将文本写入窗口时将句柄选择到显示设备上下文中。默认情况下,预定义控件执行此操作。
当给出DS_SETFONT样式时,Windows使用字体的平均字符宽度来计算对话框的位置和尺寸。否则,它使用系统字体的平均字符宽度。