MFC 多文档标题修改

多文档标题格式为 “主框架标题 - 子框架标题”

修改主框架标题的方式主要有一下两种:

1. 在CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中对成员变量m_strTitle进行直接赋值修改,如m_strTitle = TEXT("My Title")

2. 根据标题栏标题被修改时窗口会接收WM_SETTEXT消息的原理,可以修改处理该消息的函数,如下:

    afx_msg LRESULT OnSetText( WPARAM wParam, LPARAM lParam);

    ON_MESSAGE(WM_SETTEXT, &CMainFrame::OnSetText)

    LRESULT CMainFrame::OnSetText( WPARAM wParam, LPARAM lParam)
{
 lParam = (LPARAM)"主窗口标题";
 DefWindowProc (WM_SETTEXT, wParam, lParam);
 Invalidate();
 return 0;
}

修改子框架标题的方式主要是重载CView的virtual void OnTitleChange(LPCTSTR lpszText);方法:

void C...View::OnTitleChange(LPCTSTR lpszText)
{
 // TODO: Add your specialized code here and/or call the base class
 if (m_pDocument != NULL)
  m_pDocument->SetTitle(lpszText);
// CHtmlView::OnTitleChange(lpszText);
}
若视图类是继承CHtmlView,则该方法会在加载完网页后自动调用,lpszText值为网页的title。

 

若不想把子框架标题添加到主框架标题后,即不显示横杠及以后的内容,可以在CChildFrame::PreCreateWindow(CREATESTRUCT& cs)中添加cs.style &= ~FWS_ADDTOTITLE;

若cs.style &= ~FWS_ADDTOTITLE;添加到CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中,则在主框架中就不会再处理WM_SETTEXT消息

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值