0

我正在尝试增加 MainFrame 上标题的字体大小。到目前为止,我已经尝试了几种方法,但没有一个好的结果。欢迎任何建议。

A. 方法 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);
      }

这种方法会删除我所有的功能区菜单并创建很多异常。

4

2 回答 2

1

标题栏实际上是由操作系统绘制和处理的,程序无法控制它。有一个操作系统范围的设置可以更改它。许多应用程序使用自己的标题,以便他们可以围绕它的样式进行播放。

于 2014-07-16T21:12:23.850 回答
1

你可能想看看这个: http: //msdn.microsoft.com/en-us/library/windows/desktop/bb688195 (v=vs.85).aspx

然而,正如 Mark Ransom 所说,这并不容易。

于 2014-07-17T09:50:58.217 回答