CFont* font = GetFont();
if (font)
{
LOGFONT lf;
font->GetLogFont(&lf);
//lf.lfWeight = 1;
lf.lfHeight += 25;
lf.lfWidth += 6;
g_Font.CreateFontIndirect(&lf);
m_ListTest.SetFont(&g_Font,TRUE);
}
其中,m_ListTest为一个List Control控件, 我的问题是,如何简单的将这个字体配置应用于整个程序的所有弹出界面,希望路过的大牛们,指点一二。。 谢谢了..
13 个解决方案
#1
在程序开始的时候就选入一个font
没试过!
没试过!
#2
窗口资源保证都使用同一种字体。
高级的 可以利用hook 勾住WM_SETFONT 让它走你的逻辑
高级的 可以利用hook 勾住WM_SETFONT 让它走你的逻辑
#3
UP
#4
正解
#5
我和楼主相反,我一直寻找保证每个部件的字体都不同,一直没找到方法
#6
确实是一个好想法。等待高手来
#7
BOOL CXXXApp::InitInstance() 中加入修改全局字体的代码即可.
// 修改默认字体 [2012-3-19 sxh]
//设置正常字体
LOGFONT lf;
afxGlobalData.fontRegular.GetLogFont(&lf);
afxGlobalData.fontRegular.DeleteObject();
lf.lfHeight = -12;
lstrcpy(lf.lfFaceName, _T("宋体")); // using without style office 2007
afxGlobalData.fontRegular.CreateFontIndirect(&lf);
//设置加粗的字体
afxGlobalData.fontBold.GetLogFont(&lf);
afxGlobalData.fontBold.DeleteObject();
lf.lfHeight = -12;
lstrcpy(lf.lfFaceName, _T("宋体"));
afxGlobalData.fontBold.CreateFontIndirect(&lf);
afxGlobalData.fontTooltip.GetLogFont(&lf);
afxGlobalData.fontTooltip.DeleteObject();
lf.lfHeight = -12;
lstrcpy(lf.lfFaceName, _T("宋体"));
afxGlobalData.fontTooltip.CreateFontIndirect(&lf);
#8
#9
我都是挨个SendMessage WM_SETFONT
#10
遍历每个窗口控件,CWnd::SetFont()
#11
如果是对话框的话,就简单多了,你可以右键点属性里边就有font,点开设置就行了。呵呵。
#12
这个可以更改menu和toolbar的字体
#13
这种做法在系统更改主题时,字体会变大变难看
#1
在程序开始的时候就选入一个font
没试过!
没试过!
#2
窗口资源保证都使用同一种字体。
高级的 可以利用hook 勾住WM_SETFONT 让它走你的逻辑
高级的 可以利用hook 勾住WM_SETFONT 让它走你的逻辑
#3
UP
#4
正解
#5
我和楼主相反,我一直寻找保证每个部件的字体都不同,一直没找到方法
#6
确实是一个好想法。等待高手来
#7
BOOL CXXXApp::InitInstance() 中加入修改全局字体的代码即可.
// 修改默认字体 [2012-3-19 sxh]
//设置正常字体
LOGFONT lf;
afxGlobalData.fontRegular.GetLogFont(&lf);
afxGlobalData.fontRegular.DeleteObject();
lf.lfHeight = -12;
lstrcpy(lf.lfFaceName, _T("宋体")); // using without style office 2007
afxGlobalData.fontRegular.CreateFontIndirect(&lf);
//设置加粗的字体
afxGlobalData.fontBold.GetLogFont(&lf);
afxGlobalData.fontBold.DeleteObject();
lf.lfHeight = -12;
lstrcpy(lf.lfFaceName, _T("宋体"));
afxGlobalData.fontBold.CreateFontIndirect(&lf);
afxGlobalData.fontTooltip.GetLogFont(&lf);
afxGlobalData.fontTooltip.DeleteObject();
lf.lfHeight = -12;
lstrcpy(lf.lfFaceName, _T("宋体"));
afxGlobalData.fontTooltip.CreateFontIndirect(&lf);
#8
#9
我都是挨个SendMessage WM_SETFONT
#10
遍历每个窗口控件,CWnd::SetFont()
#11
如果是对话框的话,就简单多了,你可以右键点属性里边就有font,点开设置就行了。呵呵。
#12
这个可以更改menu和toolbar的字体
#13
这种做法在系统更改主题时,字体会变大变难看