修改MDI主窗口的标题栏

当MDI子窗口最大化时,主窗口标题通常显示为'主窗口标题 - 子窗口标题'。要改变此行为,可在创建MDI主窗口时将其标题设置为NULL,并阻止MFC自动设置标题。此外,还需要响应WM_GETTEXT消息来定制标题内容。对于MFC,可以在PreCreateWindow()中设置标题并在DefWindowProc()中处理WM_GETTEXT;对于VCL,可在CreateParams()中设置Caption并处理WM_GETTEXT消息。
摘要由CSDN通过智能技术生成




当MDI子窗口最大化后,其主窗口的标题会变成:
     主窗口标题 - [子窗口标题]

如何改变这一行为呢?
经观察发现,如果在创建窗口时设置其标题为NULL,则这个窗口在画它的标题栏时会调用 WM_GETTEXT,所以我们只需做两件事情:
    1. 创建窗口时设其标题为 NULL
          MFC:
          BOOL CMainFrame::PreCreateWindow( CREATESTRUCT& cs)
          {
                if (! CMDIFrameWnd::PreCreateWindow(cs))
                      return FALSE;
                cs.lpszName = NULL;
                return TRUE;
          }
          还要防止 MFC 自己设置主窗口的标题,这要去掉 OnUpdateFrameTitle()
          void CMainFrame::OnUpd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值