注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小人物的自述

为梦想而奋斗,没有梦想就没有希望!

 
 
 

日志

 
 

修改mdi主窗口标题栏  

2009-02-24 11:13:23|  分类: 学习笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

当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::OnUpdateFrameTitle(BOOL)
          {}

          VCL:
          procedure TMainForm.CreateParams(var Params: TCreateParams); override;
          procedure TMainForm.CreateParams(var Params: TCreateParams);
          begin
                inherited;
                Params.Caption := nil;
          end;

    2. 响应 WM_GETTEXT
          MFC:
          LRESULT CMainFrame::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
          {
                if (message == WM_GETTEXT)
                {
                      LPCTSTR text = _T("Hello");
                      lstrcpy((LPTSTR)lParam, text);
                      return lstrlen(text);
                }
                return CMDIFrameWnd::DefWindowProc(message, wParam, lParam);
          }
         
          VCL:
          procedure WMGetText(var m: TWMGetText); message WM_GETTEXT;
          procedure WMGetText(var m: TWMGetText);
          const
             cap : String = 'Hello';
          begin
                strpcopy(m.text, cap);
                m.result := length(cap);
          end;

 

注:VCL 和 MFC 的一些不同!
  Q:   VCL有消息的概念吗?    
  A:   肯定有  
   
  Q:   他们处理事件相同吗?    
  A:   肯定不同  
   
  Q:   mfc只能写windows程序吗?    
  A:   肯定是的

  评论这张
 
阅读(966)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017