none
如何动态修改Ribbon风格的窗口的标题 RRS feed

  • 问题

  •        我实现了下面这样一个窗口,如下图:

     

            我想通过代码来修改那个窗口标题:SysApp,因为我的窗口标题是通过配置文件来设置的。但是通过获取框架窗口类指针(即CMainFrame)来 SetWindowText并不行。请问如何做呢?我的编译环境是: VS 2008+ sp1, Win XP + sp3.


    前无古人,后无来者

    2012年9月20日 7:38

答案

  • 找到办法了,需要修改窗口风格。具体做法如下:

    1.重载CMainFrame类的PreCreateWindow函数

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
        // TODO: 在此添加专用代码和/或调用基类
        if( !__super::PreCreateWindow(cs) )
            return FALSE;
        // TODO: 在此处通过修改
        //  CREATESTRUCT cs 来修改窗口类或样式
        cs.style &=~FWS_ADDTOTITLE; //这行是必要条件
        return TRUE;
    }

    2.在App类的InitInstance函数设置标题:

     m_pMainWnd->SetWindowText(_T("你想要什么标题"));


    前无古人,后无来者

    • 已标记为答案 clever101 2012年9月20日 10:50
    2012年9月20日 10:50

全部回复

  • 找到办法了,需要修改窗口风格。具体做法如下:

    1.重载CMainFrame类的PreCreateWindow函数

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
        // TODO: 在此添加专用代码和/或调用基类
        if( !__super::PreCreateWindow(cs) )
            return FALSE;
        // TODO: 在此处通过修改
        //  CREATESTRUCT cs 来修改窗口类或样式
        cs.style &=~FWS_ADDTOTITLE; //这行是必要条件
        return TRUE;
    }

    2.在App类的InitInstance函数设置标题:

     m_pMainWnd->SetWindowText(_T("你想要什么标题"));


    前无古人,后无来者

    • 已标记为答案 clever101 2012年9月20日 10:50
    2012年9月20日 10:50
  • 你好,

    非常感谢您的分享与回复,这对于有同样问题的论坛成员来说是很有用的。

    感谢您的支持,预祝今天有个好心情!

    此致


    Elegentin Xie [MSFT]
    MSDN Community Support | Feedback to us

    2012年9月21日 5:20
    版主