单文档标题的修改

一、修改标题
方法1: 在CMainFrame中 PreCreateWindow(CREATESTRUCT& cs) 进行更改 ,如下:
BOOL CKTLXSubjectShowFrame::PreCreateWindow(CREATESTRUCT& cs)
{
     //  TODO: Add your specialized code here and/or call the base class
    cs.style &=~WS_MAXIMIZEBOX; // 禁用最大化按钮
    cs.style &=~WS_SIZEBOX;
     cs.style  &=~ FWS_ADDTOTITLE;

    cs.lpszName =  _T( " 测试标题 " ) ;
    cs.cx = 970;
    cs.cy = 650;
     return CXTPFrameWnd::PreCreateWindow(cs);
}

方法2:在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)
{
     //  TODO: 在此添加专用代码和/或调用基类 
     SetWindowText(_T( " 标题 " ));
    CFrameWnd::OnUpdateFrameTitle(bAddToTitle);
}

 方法3:在CMainFrame的PreCreateWindow函数中修改窗口风格:

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
           cs.style  &=  ~ (LONG) FWS_ADDTOTITLE;
           return CFrameWnd::PreCreateWindow(cs);
}

你可能感兴趣的:(单文档标题的修改)