MFC 应用程序名称

Gum*_*jr. 5 mfc

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

Sco*_*MVP 6

放入 MFC 标题的这个覆盖:

void CMainFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{
SetWindowText(L"CLOCK");
}
Run Code Online (Sandbox Code Playgroud)


Edw*_*nts 5

有一个答案在这里,但我觉得以下解决方案更“正确”的。

除了覆盖之外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
Run Code Online (Sandbox Code Playgroud)

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