三、Windows通用对话框—改变字体
我们将在第十七章`详细讨论字体,但那些都不能代替通用对话框函数来选择字体。
在WM_CREATE消息处理期间,POPFONT.C中的POPPAD呼叫PopFontInitialize。这个函数取得一个依据系统字体建立的LOGFONT结构,由此建立一种字体,并向编辑控件发送一个WM_SETFONT消息来设定一种新的字体(内定编辑控件字体是系统字体,而PopFontInitialize为编辑控件建立一种新的字体,因为最终该字体将被删除,而删除现有系统字体是不明智的)。
当POPPAD收到来自程序的字体选项的WM_COMMAND消息时,它呼叫PopFontChooseFont。这个函数初始化一个CHOOSEFONT结构,然后呼叫ChooseFont显示字体选择对话框。如果使用者按下「OK」按钮,那么ChooseFont将传回TRUE。随后,POPPAD呼叫PopFontSetFont来设定编辑控件中的新字体,旧字体将被删除。
最后,在WM_DESTROY消息处理期间,POPPAD呼叫PopFontDeinitialize来删除最近一次由PopFontSetFont建立的字体。