格式化输出 假如要使用TextOut函数在Windows应用程序中输出多行文字,我们就必须先取得字符的宽度和高度,通常我们在窗口消息处理函数中处理WM_CREATE消息的时候调用GetTextMetrics函数来获取他们,之所以放到WM_CREATE的部分调用,是因为当系统启动后,系统字体的大小就不会发生改变,我们只需要调用一次GetTextMetrics就可以了。
具体方法如下: case WM_CREATE: hdc = GetDC (hwnd); // 取得设备描述表句柄。 GetTextMetrics (hdc, &tm); // 调用GetTextMetrics函数将获得的信息保存在缓冲区中。 iLFx = tm.tmAveCharWidth;// 获得小写字符的平均宽度,小写字母的加权平均值就是字符的平均宽度。 iCFx = (tm.tmPitchAndFamily & 1 ? 3 : 2) * cxChar / 2;// 获得大写字符的平均宽度,对于变宽字体而言,大写字符的平均宽度是iLFx乘以150%,而假如是等宽字体,那么iCFx就等于iLFx。 iFy =...[ 查看全文 ]