c++ - 有没有办法更改 MFC SDI 应用程序的标题字体?

标签 c++ visual-c++ mfc visual-c++-2012

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

一个。方法一

    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.方法二

     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);
      }

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

最佳答案

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

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

关于c++ - 有没有办法更改 MFC SDI 应用程序的标题字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24787738/

相关文章:

c++ - 如何告诉 Inline ASM 变量是十六进制的

C++ 函数指针传递在 vs2008 中编译,但在 vs2017 中不编译

pdf - 从 MFC MDI CView 生成 PDF 页面

c++ - 如何使用 C++/Qt/CMake 项目构建 Rust 代码?

c++ - 切片 C 数组创建 C++ vector ,每 3 个元素仅保留 2 个元素

c++ - 中心组框

visual-c++ - 如何用C/C++通过CPUID命令获取物理和虚拟地址位

winapi - 是否可以动态更改模态对话框的语言?

c++ - 基于构造函数的可访问性在函数之间进行选择的模板方法

c++ - Visual 2010 C++ 中的错误 C2784