我正在尝试增加MainFrame上标题的字体大小。到目前为止,我已经尝试了几种没有良好结果的方法。欢迎任何建议。
一个。方法1
void CMainFrame::OnPaint()
{
CPaintDC dc(this); // device context for painting
LOGFONT lF;
lF.lfHeight = 10;
lF.lfWidth = 0;
lF.lfWeight = FW_NORMAL;
lF.lfItalic = FALSE; //TRUE;
lF.lfUnderline = FALSE; //TRUE;
lF.lfStrikeOut = FALSE; //TRUE;
lF.lfEscapement = 0;
lF.lfOrientation = 0;
_tcscpy_s(lF.lfFaceName, _T("Verdana"));
CFont m_font;
m_font.CreateFontIndirect(&lF);
SetFont(&m_font);
}
它不会改变一件事。
B中。方法2
void CMainFrame::OnPaint()
{
CPaintDC dc(this); // device context for painting
LOGFONT lF;
lF.lfHeight = 10;
lF.lfWidth = 0;
lF.lfWeight = FW_NORMAL;
lF.lfItalic = FALSE; //TRUE;
lF.lfUnderline = FALSE; //TRUE;
lF.lfStrikeOut = FALSE; //TRUE;
lF.lfEscapement = 0;
lF.lfOrientation = 0;
_tcscpy_s(lF.lfFaceName, _T("Verdana"));
CFont m_font;
m_font.CreateFontIndirect(&lF);
BOOL fRedraw = TRUE;
SendMessageToDescendants(WM_SETFONT, (WPARAM)m_font.m_hObject);
}
此方法会删除我的所有功能区菜单,并会产生很多异常。
答案 0 :(得分:1)
标题栏实际上是由操作系统绘制和处理的,程序无法控制它。 有一个OS范围的设置来改变它。许多应用程序使用自己的标题,以便它们可以围绕它的风格。
答案 1 :(得分:1)
您可能希望看一下:http://msdn.microsoft.com/en-us/library/windows/desktop/bb688195(v=vs.85).aspx
然而,正如Mark Ransom所说,这并不容易。