2010.10.26 设置程序标题

MFC窗口标题定制
本文介绍了如何在MFC中取消MDI主框架及子窗体显示的文档标题,并提供了设置SDI主窗口标题的方法,包括重载SetTitle函数、修改String Table内容及调整PreCreateWindow函数等。

1.取消MDI主框架窗口中显示的活动文档标题

缺省条件下,创建的主框架窗口和MDI子窗口通常具有FWS_ADDTOTITLE风格,所以如果要禁止,
必须取消该风格:

BOOL   CMainFrame::PreCreateWindow(CREATESTRUCT&   cs)
{
if(   !CMDIFrameWnd::PreCreateWindow(cs)   )
return   FALSE;
cs.style   &=   ~FWS_ADDTOTITLE;

return   TRUE;
}

2.取消MDI子窗体中显示的文档标题
BOOL   CChildFrame::PreCreateWindow(CREATESTRUCT&   cs)
{
if(   !CMDIChildWnd::PreCreateWindow(cs)   )
return   FALSE;
cs.style   &=   ~   FWS_ADDTOTITLE;
return   TRUE;
}

3.设置SDI主窗口标题

    对于单文档窗体,当我们建立一个test应用程序时,标题栏上显示 "无标题-test "
我们可以重载SetTitle函数来设置自己的文档标题,例如下面代码显示的结果为 "测试文档-test "

void   CTestDoc::SetTitle(LPCTSTR   lpszTitle)  
{  
      lpszTitle   =   "测试文档 ";
      CDocument::SetTitle(lpszTitle);
}

如果要改变主窗口的标题,第一种方法可以设置String   Table中的
test\n\nTest\n\n\nTest.Document\nTest   Document   第一项内容,改为如下内容
测试\n\nTest\n\n\nTest.Document\nTest   Document。
最后主窗口将显示 "测试文档-测试 "

    第二种方法可以在主窗口的PreCreateWindow函数中,设置CFrameWnd的保护成员m_strTitle来更改
主窗口的标题

BOOL   CMainFrame::PreCreateWindow(CREATESTRUCT&   cs)
{
      if(   !CFrameWnd::PreCreateWindow(cs)   )
            return   FALSE;

      m_strTitle   =   "测试 ";
      return   TRUE;
}
这种方法下,码显示的结果为 "测试-test "

4、通过在app的BOOL CPnrNavCtrlApp::InitInstance(),设置:m_pMainWnd->SetWindowText(_T("测试"));
这种方法下,码显示的结果为 "测试-test "

 

以上不一定对,具体需要验证,另请看doc中

 

BOOL CPnrNetCfgDoc::OnNewDocument()
{
 if (!CDocument::OnNewDocument())
  return FALSE;

 // TODO: add reinitialization code here
 // (SDI documents will reuse this document)
 this->SetTitle(_T("PIONEER"));

 return TRUE;
}


 

转载于:https://www.cnblogs.com/peijihui/archive/2010/10/26/1861387.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值