MFC应用程序标题

时间:2014-04-25 21:27:14

标签: mfc

我正在使用MFC创建一个简单的时钟应用程序。我的应用程序标题如下所示:“CLOCK - [CLOCK1]”。如何将其重置为“CLOCK”? 仅供参考,我启用了文档 - 视图架构。

3 个答案:

答案 0 :(得分:4)

放入MFC标题的覆盖:

void CMainFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{
SetWindowText(L"CLOCK");
}

答案 1 :(得分:3)

答案是here,但我觉得以下解决方案更多"正确"。

除了覆盖CMainFrame::OnUpdateFrameTitle()之外,您还需要覆盖CMainFrame::PreCreateWindow(),如下所示:

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{   cs.style &= ~FWS_ADDTOTITLE;
    return CFrameWndEx::PreCreateWindow(cs); // replace CFrameWndEx by CFrameWnd if
}                                            // your CMainFrame is based on CFrameWnd

注意:最好使用AfxSetWindowText(m_hWnd, _T("foo"))代替SetWindowText(_T("foo"))以避免过度闪烁,在设置窗口文本之前检查文本是否不同。

答案 2 :(得分:0)

您可以通过单击窗口并键入标题在可视编辑器中进行更改。 或者您可以在函数OnInitDialog

中添加此代码

this->SetWindowText(L"CLOCK");