MyException - 我的异常网
当前位置:我的异常网» VC/MFC » 关于MFC TabControl 使用的有关问题

关于MFC TabControl 使用的有关问题

www.MyException.Cn  网友分享于:2013-12-25  浏览:38次
关于MFC TabControl 使用的问题
“VC里Tab控件的使用实例 
分类: 学习资料摘抄 2007-07-17 15:33
----转自http://hi.baidu.com/zuolong99/blog/item/ecf0ee1f81f562f4e0fe0b98.html

 

 1、首先创建一个MFC对话框框架,在对话框资源上从工具箱中添加上一个Tab    Control    控件,根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量绑定在一起,这里设为m_tabctrl   
   2、创建两个新的对话框资源,其属性作如下修改:   
   Border:none    //边界为空,这样它就没了标题栏   
   Style    :Child    //    这样这个模板就可以当作另一个窗口的子窗口了。   
         其它如果没有必要,就不用改了。   
   在上面加一些控件什么的,具体操作跟普通对话框没有区别。   
   完成后从这两个对话框模板生成两个新的对话框类。   
   3、在主对话框中为新添加进来的两个类增加两个变量:   
   如:CDialog1    m_mm1;   
   CDialog2    m_mm2;   
   4、在主对话框的OnInitDialog()函数中添加如下类似的代码:   
           TCITEM    item;   
   item.mask    =    TCIF_TEXT;   
   item.pszText    =    "第一页";   
    
   m_tabctrl.InsertItem    (0,&item);   
   item.pszText    ="第二页";   
   m_tabctrl.InsertItem    (1,&item);   
    
   m_mm1.Create    (IDD_DIALOG1,&m_tabctrl);   
   m_mm2.Create    (IDD_DIALOG2,&m_tabctrl);   
    
   m_mm1.SetWindowPos    (NULL,10,30,400,100,SWP_SHOWWINDOW);   
   m_mm2.SetWindowPos    (NULL,10,30,400,100,SWP_HIDEWINDOW    );       
   解释如下:   
   两个InsertItem函数的调用是为了给标签控件增加两个标签页面,文本是标题。   
   SetWindowPos()函数设置这两个对话框在Z顺序中的位置,显示或隐藏状态.。   
   5、在主对话中为标签控件添加一个标签选择改变(TCN_SELCHANGE)的控件通知消息,以便在用户选择标签时通知主对话框。在主对话框的编辑界面右击标签控件,选择添加一个事件可以完成这个操作。   
   在事件处理中添加如下代码,如下例:   
   void    CtabdialogDlg::OnTcnSelchangeTab1(NMHDR    *pNMHDR,    LRESULT    *pResult)   
   {   
   CRect    r;   
   m_tabctrl.GetClientRect    (&r);   
    
   switch(m_tabctrl.GetCurSel())   
   {   
   case    0:   
   m_mm1.SetWindowPos    (NULL,10,30,r.right    -20,r.bottom    -40,SWP_SHOWWINDOW);   
   m_mm2.SetWindowPos    (NULL,10,30,r.right    -20,r.bottom    -40,SWP_HIDEWINDOW    );       
   break;   
   case    1:   
   m_mm1.SetWindowPos    (NULL,10,30,r.right    -20,r.bottom    -40,SWP_HIDEWINDOW);   

文章评论

“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员都该阅读的书
程序员都该阅读的书
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
旅行,写作,编程
旅行,写作,编程
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
代码女神横空出世
代码女神横空出世
程序员应该关注的一些事儿
程序员应该关注的一些事儿
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
一个程序员的时间管理
一个程序员的时间管理
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
老程序员的下场
老程序员的下场
编程语言是女人
编程语言是女人
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
中美印日四国程序员比较
中美印日四国程序员比较
Java程序员必看电影
Java程序员必看电影
10个调试和排错的小建议
10个调试和排错的小建议
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
鲜为人知的编程真相
鲜为人知的编程真相
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
我的丈夫是个程序员
我的丈夫是个程序员
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
漫画:程序员的工作
漫画:程序员的工作
程序员和编码员之间的区别
程序员和编码员之间的区别
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
我是如何打败拖延症的
我是如何打败拖延症的
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
 程序员的样子
程序员的样子
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员必看的十大电影
程序员必看的十大电影
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
那些争议最大的编程观点
那些争议最大的编程观点
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有