MFC單文件修改標題和標題圖示
阿新 • • 發佈:2018-12-30
一.修改標題
在doc類中OnNewDocument函式修改,新增修改的標題,如下:
BOOL CKTLXSubjectShowDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
SetTitle(_T("測試標題"));
return TRUE;
}
二.修改標題後半部分
單文件標題通常會有兩部分組成,例如:標題名稱—工程名稱,修改StringTable的IDR_MAINFRAME的標題,將第一個\n之前的字串替換為
標題\n\nTestSingleTitle\n\n\nTestSingleTitle.Document\nTestSingleTitle.Document
三.去掉標題的後半部分
方法1:在CTestSingleTitleApp::InitInstance()中呼叫如下語句m_pMainWnd->SetWindowText(_T("標題"));或在其他地方用(AfxGetMainWnd())->SetWindowText(_T("標題"));也可以得到相同的結果。
方法2:可以通過利用CWnd::SetWindowText即:void SetWindowText( LPCTSTR lpszString );過載CFramWnd類的OnUpdateFrameTitle函式
void CMainFrame::OnUpdateFrameTitle(BOOL bAddToTitle){
//
CFrameWnd::OnUpdateFrameTitle(bAddToTitle);
}
方法3:在CMainFrame的PreCreateWindow函式中修改視窗風格:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){
cs.style &= ~(LONG) FWS_ADDTOTITLE;
return CFrameWnd::PreCreateWindow(cs);
}
PS:
多文件中修改標題的前半部分和單文件一樣
去掉標題的前半部分:
在CMainFrame的PreCreateWindow函式中修改視窗風格:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){
cs.style &= ~(LONG) FWS_ADDTOTITLE;
return CFrameWnd::PreCreateWindow(cs);
} 修改標題的後半部分: 在上面函式中新增一行:m_strTitle = "標題 ";