创建字体CreateFont函数原形,执行成功则返回逻辑字体的句柄HFONT,零表示失败。
HFONT CreateFont(
int nHeight, //字体的高度
int nWidth, //字体的宽度
int nEscapement, //字体显示的角度
int nOrientation, //字体的角度
int nWeight, //字体的磅数
BYTE bItalic, //斜体字体
BYTE bUnderline, //带下划线的字体
BYTE cStrikeOut, //带删除线的字体
BYTE nCharSet, //所需的字符集
BYTE nOutPrecision, //输出的精度
BYTE nClipPrecision, //裁减的精度
BYTE nQuality, //逻辑字体与输出设备的实际字体之间的精度
BYTE nPitchAndFamily, //字体间距和字体集
LPCTSTR lpszFacename //字体名称
);
注:
nCharSet字符集。可以使用以下预定义的值:
ANSI_CHARSET
BALTIC_CHARSET
CHINESEBIG5_CHARSET
DEFAULT_CHARSET
EASTEUROPE_CHARSET
GB2312_CHARSET
GREEK_CHARSET
HANGUL_CHARSET
MAC_CHARSET
OEM_CHARSET
RUSSIAN_CHARSET
SHIFTJIS_CHARSET
SYMBOL_CHARSET
TURKISH_CHARSET
VIETNAMESE_CHARSET
其中,OEM_CHARSET 表示字符集依赖本地操作系统。
DEFAULT_CHARSET 表示字符集基于本地操作系统。例如,系统位置是 English (United States),字符集将设置为 ANSI_CHARSET。
=======================================================
一、设置HDC字体
HFONT hFont;
HDC hDC;
hFont=CreateFont(10,10,0,0,FW_BOLD,false,false,false,DEFAULT_CHARSET,OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,DEFAULT_QUALITY,FF_MODERN,"新宋体");
SelectObject(hDC,hFont);
二、设置控件字体
vc CreateWindow创建窗口控件及设置字体
HWND hBtn, hEdit;
hBtn = CreateWindow( //按钮创建
"button",
"创建的按钮",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_CENTER|BS_VCENTER,
100,100,90,28,
hWnd,
NULL,
AfxGetInstanceHandle(),
0);
hEdit = CreateWindow( //edit控件
"edit",
"create",
WS_VISIBLE|WS_CHILD|WS_BORDER/*|DT_CENTER*/|DT_VCENTER,
100,70,100,25,
hWnd,
NULL,
NULL,
NULL);
HFONT hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
::SendMessage(hEdit,WM_SETFONT,(WPARAM)hFont,1); //设置控件字体
::SendMessage(hBtn,WM_SETFONT,(WPARAM)hFont,1);