首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

如何设置对话框字体为当前系统窗口使用的字体

2012-01-21 
怎么设置对话框字体为当前系统窗口使用的字体?VC6默认创建的对话框字体太难看了,不想通过对话框属性来设置

怎么设置对话框字体为当前系统窗口使用的字体?
VC6默认创建的对话框字体太难看了,不想通过对话框属性来设置字体,请问怎么才能得到系统当前使用的字体然后设置为对话框字体?


[解决办法]
GetTextMetrics
EnumFontFamiliesEx
看看.这两个应该可以.
[解决办法]
定义全局CFont m_font;

// m_font.DeleteObject();
m_font.CreateFont( 15,0,0,0,FW_NORMAL,FALSE,FALSE,FALSE,GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SWISS, "黑体 ");
this-> SetFont(&m_font);
CWnd *pw = GetWindow(GW_CHILD);
while(pw != NULL)
{
pw-> SetFont(&m_font);
pw = pw-> GetWindow(GW_HWNDNEXT);
}

对话框退出后 m_font.DeleteObject();
[解决办法]
HGDIOBJ hFont = GetStockObject(SYSTEM_FONT);
CFont font;
font.Attach(hFont);
SetFont(&font);
[解决办法]

void SetFont(
CFont* pFont,
BOOL bRedraw = TRUE
);
注意SetFont有两个函数,把第二个设为TRUE吧。
生成一个CFont,再使用SetFont来设字体。

热点排行