创建逻辑字体

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

您可以使用“字体常用”对话框显示可用的字体。在应用程序初始化CHOOSEFONT结构的成员并调用ChooseFont函数后,将显示ChooseFont对话框。用户选择一种可用字体并按OK按钮后,ChooseFont功能将使用相关数据初始化LOGFONT结构。您的应用程序可以调用CreateFontIndirect函数,并根据用户的请求创建一个逻辑字体。以下示例演示了如何完成此操作。

HFONT FAR PASCAL MyCreateFont(void)

{

CHOOSEFONT cf;

LOGFONT lf;

HFONT hfont;

/ *初始化CHOOSEFONT结构的成员。*/

cf.lStructSize = sizeof(CHOOSEFONT);

cf.hwndOwner = (HWND)NULL;

cf.hDC = (HDC)NULL;

cf.lpLogFont = &lf;

cf.iPointSize = 0;

cf.Flags = CF_SCREENFONTS;

cf.rgbColors = RGB(0,0,0);

cf.lCustData = 0L;

cf.lpfnHook = (LPCFHOOKPROC)NULL;

cf.lpTemplateName = (LPSTR)NULL;

cf.hInstance = (HINSTANCE) NULL;

cf.lpszStyle = (LPSTR)NULL;

cf.nFontType = SCREEN_FONTTYPE;

cf.nSizeMin = 0;

cf.nSizeMax = 0;

/ *显示CHOOSEFONT公共对话框。*/

ChooseFont(&cf);

/ *根据用户的* /

/ *选择并返回一个标识* /

/ *那个字体。*/

hfont = CreateFontIndirect(cf.lpLogFont);

return (hfont);

}