我正在使用MFC创建一个简单的时钟应用程序。我的应用程序标题显示如下:“CLOCK - [CLOCK1]”。我该如何将其重置为仅显示“CLOCK”?
FYI,我已启用文档视图架构。
void CMainFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{
SetWindowText(L"CLOCK");
}
CChildFrame::OnUpdateFrameTitle()
。 - Edward ClementsSetTitle(_T(""))
,因为CLOCK1对我来说似乎是文档的标题。 - sergiolCMainFrame::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"))
来避免过度闪烁,它会在设置窗口文本之前检查文本是否不同。
void CFrameWnd::UpdateFrameTitleForDocument(LPCTSTR lpszDocName)
调用的格式“WindowText-lpszDocName”输出的。你的SetWindowText
将被我描述的过程所覆盖,所以在主框架上实现OnUpdateFrameTitle
函数重载是正确的方法。 - sergiol