CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

请问我的主对话框无法响应tab contol 里面的按钮消息?

楼主wanghugo(wh)2005-07-28 10:38:41 在 VC/MFC / 基础类 提问

首先加入两个(或数个)对话框资源。修改各对话框资源的属性,将对话框的Caption属性改为你要在标签上所显示的文字。将对话框的Style属性改为:Child,   Border属性改为:Thin,   只选中Title   Bar复选框,去掉其他复选框。然后你可以在这些对话框中加入要分开显示的各个控件。  
  在主对话框类里加入一个CPropertySheet类的一个成员变量(m_sheet)代表整个属性页。再加入一些各子对话框类的实例作为成员变量(m_page1、m_page2……)。  
   
  在主对话框类的OnInitDialog()函数中加入:  
   
  //加入标签,标签名由各个子对话框的标题栏决定  
  m_sheet.AddPage(&m_page1);  
  m_sheet.AddPage(&m_page2);  
  //用Create来创建一个属性页  
  m_sheet.Create(this,   WS_CHILD   |   WS_VISIBLE,   WS_EX_CONTROLPARENT);  
   
  RECT   rect;  
  m_sheet.GetWindowRect(&rect);  
  int   width   =   rect.right   -   rect.left;  
  int   height   =   rect.bottom   -   rect.top;  
   
  //调整属性页的大小和位置  
  m_sheet.SetWindowPos(NULL,   20,   50,   0,   0,   SWP_NOSIZE   |   SWP_NOZORDER   |   SWP_NOACTIVATE);  
   
   
  效果如下:  
     
  这个方案可以自由在主对话框中加一些必要的控件,而且属性页中的控件也都分散在了各个子对话框类中,使用非常方便。    
  但是这样也有一些缺陷:主对话框不能处理属性页上标签的消息,即点击标签时无法通知主对话框。    
  请问这个缺陷怎么解决? 问题点数:100、回复次数:6Top

1 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2005-07-28 10:42:37 得分 0

派生一个CPropertySheet的子类,由它处理相应的消息,如果需要再通道其主(父)窗口。Top

2 楼wanghugo(wh)回复于 2005-07-28 10:50:54 得分 0

我就是不知道具体该怎么通道其父窗口。  
  比如说我的tab   control上有一个关闭按钮  
  按下去之后关闭整个   tab   control  
  Top

3 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-07-28 11:12:48 得分 50

父窗口的PreTranslateMessage应该可以接获Tab   control的消息Top

4 楼wanghugo(wh)回复于 2005-07-28 11:23:28 得分 0

听得不明白,写点代码出来吧  
  Top

5 楼qrlvls( 空 气 )回复于 2005-07-28 11:28:22 得分 0

对   Tab   Control   也可以直接使用子对话框窗口的   SW_SHOW   和   SW_HIDE   来实现Top

6 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-07-28 14:45:58 得分 50

BOOL   CXXXDlg::PreTranslateMessage(MSG*   pMsg)    
  {  
          if   (pMsg->hwnd   ==   m_cTabCtrl.GetSafeHwnd())  
          {  
                  ....  
          }  
  }  
  Top

相关问题

  • tab控件中的按钮怎样关闭对话框?
  • 怎样Enable/Disable对话框的按钮?
  • 关于CFileDialog对话框上的按钮
  • 关于对话框的关闭按钮?
  • 对话框背景上的按钮??
  • 急!对话框按钮不能点!
  • 对话框中的按钮响应??
  • 问个对话框按钮的问题
  • 对话框按钮双击问题
  • 菜鸟问题:怎样改变对话框中各按钮在Tab键切换时的次序?

关键词

  • 属性
  • 控件
  • 消息
  • ws
  • 对话框
  • 标签
  • sheet
  • rect
  • 加入
  • swp

得分解答快速导航

  • 帖主:wanghugo
  • goodboyws
  • goodboyws

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo