1、系统字体:
/*
呼叫GetTextMetrics取得字体大小:
系统字体的大小取决于Windows所执行的视讯显示器的分辨率
*/
typedef struct tagTEXTMETRIC
{
LONG tmHeight; //tmAscent与tmDescent的和,表示基准在线下字符的最大纵向高度。
LONG tmAscent; //内部的间距
LONG tmDescent;
LONG tmInternalLeading; //通常被设置为0
LONG tmExternalLeading; //字体设计者建议加在横向字符之间的空间大小
LONG tmAveCharWidth; //乘以150%可计算大写字母的平均宽度
LONG tmMaxCharWidth;
其它结构字段
}
TEXTMETRIC,*PTEXTMETRIC; //在内定设备内容下,映像方式是MM_TEXT,因此值的大小是以图素为单位。
TEXTMETRIC tm; //定义结构变量
hdc = GetDC(hwnd);
GetTextMetrics(hdc,&tm);
ReleaseDC(hwnd,hdc);
2、格式化文字:
/*在窗口消息处理程序内定义两个变量来保存平均字符宽度(cxChar)和总的字符高度(cyChar):*/
static int cxChar,cyChar; //若在函数外定义则不需要static
变量名前缀c代表count,指图素数。
/*WM_CREATE程序代码*/
case WM_CREATE:
hdc = GetDC(hwnd);
GetTextMetric(hdc,&tm);
cxChar = tm.tmAveCharWidth;
cxChar = tm.tmHeight+tm.ExternalLe