关闭

VC Tab Control 切换窗体

标签: dialogmfcborder
9876人阅读 评论(2) 收藏 举报
分类:

1. 新建一个MFC工程,取名xyTabControl,选择Dialog based,然后Finish。

2. 删除对话框上默认添加的三个控件。添加Tab Control控件并在Property属性中设置ID为IDC_TAB1,添加变量m_tabctrl,类型为CTabCtrl。

3. 在对话框的初始化函数OnInitDialog里面添加如下代码:

   m_tabctrl.InsertItem(0,"memo0");      //添加参数一选项卡 
   m_tabctrl.InsertItem(1,"memo1");      //添加参数二选项卡

4.在对话框资源里面添加两个对话框资源, ID分别命名为IDD_PARA1, IDD_PARA2。字体为宋体, 字号为9, style为Child, Border为None, 调整高度宽度到适中尺寸。再分别为其添加对应的基于CDialog类CPara1, CPara2。

5. 在CxyTabControlDlg类中添加两个成员变量m_para1, m_para2, 分别是两个子对话框的实例. 代码如下:

  CPara2 m_para2;

  CPara1 m_para1;

6. 布置IDD_PARA1和IDD_PARA2对话框 如下图:




7. 在IDD_xyTabControl_DIALOG对话框的初始化函数OnInitDialog里面添加如下代码:

  //关联对话框,并且将IDC_TABTEST控件设为父窗口

    m_para1.Create(IDD_PARA1,GetDlgItem(IDC_TAB1));
    m_para2.Create(IDD_PARA2,GetDlgItem(IDC_TAB1));

    //获得IDC_TABTEST客户区大小

    CRect rs;
    m_tabctrl.GetClientRect(&rs);
    //调整子对话框在父窗口中的位置
    rs.top += 20;
    rs.bottom -= 20;
    rs.left += 1;
    rs.right -= 2;
    //设置子对话框尺寸并移动到指定位置
    m_para1.MoveWindow(&rs);
    m_para2.MoveWindow(&rs);
    //分别设置隐藏和显示
    m_para1.ShowWindow(1);
    m_para2.ShowWindow(0);

    //设置默认的选项卡
    m_tabctrl.SetCurSel(0);

8. 添加Tab Control控件的TCN_SELCHANGE事件响应函数OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult) ,函数体代码如下:
    int CurSel = m_tabctrl.GetCurSel();
 
    switch(CurSel)
    {
     case 0:
       m_para1.ShowWindow(true);
       m_para2.ShowWindow(false);
     break;
     case 1:
       m_para1.ShowWindow(false);
       m_para2.ShowWindow(true);
     break;
     default:
     ;

     *pResult = 0;
    }
9.好了,完成,这个小程序很简单,效果如下图:




源码下载



参考推荐:

VC中TabControl控件使用方法

MFC中TAB CONTROL的使用  


2
0
查看评论

VC++中的Tab Control简单例子

属性表(CPropertyPage和CPropertySheet)和Tab Control 的区别 The CPropertySheetis actually a dialog with a CTabCtrl. Each CPropertyPage is a child of the CPro...
  • dancewyr
  • dancewyr
  • 2012-06-18 10:00
  • 6138

在VC++中使用Tab Control控件

系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:在模态或非模态对话框中使用Tab Control控件,及引申在单/多文档中使用 查阅MSDN文档,对于创建Tab Control控件,MSDN上说明如下:To use CTabCtrl direct...
  • akof1314
  • akof1314
  • 2009-10-30 11:06
  • 12654

MFC之Tab Control控件简单使用

在MFC当中使用Tab Control控件切换不同的界面,使用起来会复杂一些,至少是比Qt中的Tab Widget复杂得多。我接下来会以一个MFC对话框应用程序为例子,说明Tab Control控件的简单使用方法。 1.1建立一个MFC对话框应用程序,在对话框中拖入Tab Control控件,效果如...
  • u010780613
  • u010780613
  • 2016-12-26 10:15
  • 3033

MFC实现多TAB页的切换

风雨无阻 只有一条路不能选择——那就是放弃的路;只有一条路不能拒绝——那就是成长的路。 MFC Tab Control控件的详细使用   1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish. 2. 删除对话...
  • Martin_chen2
  • Martin_chen2
  • 2015-01-15 17:29
  • 2643

Python tab切换面板下事件,button获取对应tab下的数据

import tkinter as tk # imports from tkinter import ttk from tkinter import * class initGUI(): currentContent = "" confMedication = &...
  • qq_21336651
  • qq_21336651
  • 2018-01-10 17:05
  • 26

Python GUI进阶(ttk)—让界面变得更美

上一篇介绍的GUI界面有以下两个较大的缺点: 1、界面比较丑陋,控件种类有限。 2、界面布局逻辑性差。 针对以上两个缺点,引入Tkinter 中的ttk组件。
  • i_chaoren
  • i_chaoren
  • 2017-02-21 20:02
  • 14453

mfc tab control 标签切换 页面改变

  • 2012-02-23 14:39
  • 16.20MB
  • 下载

左侧Tab切换页面实现

最近在家待业,一边找工作,一边在学习Web前段的开发,刚好自己在玩一个站点,目前正在设计中,在PS中做好图后转化成页面,今天在碰到一个需要实现左侧Tab页面切换的效果,研究了一下,最终实现,在CSDN中记录下来,以备日后忘记查阅。设计的最终效果图如下所示:之所以选择使用Tab页面切换来显示页面中的内...
  • WolfSoft
  • WolfSoft
  • 2008-06-27 11:19
  • 3676

MFC对话框窗口&Tab Control控件

在工具箱向面板添加Tab Control后 需要注意Tab Control分为标签和客户区两个区域 标签就是一堆按钮,切换时触发事件 分别添加标签、客户区、针对标签的消息响应函数,达到使用标签切换窗口的效果
  • crf_moonlight
  • crf_moonlight
  • 2017-05-10 19:54
  • 251

VC tab control 使用简单例子

VC     tab control 使用简单例子 1. 新建一个MFC工程--MFC AppWizard(exe), 取名TabTest, 选择Dialog based, 然后Finish. 2. 在话框上添加Tab Control控件并在Prope...
  • sj19890401
  • sj19890401
  • 2014-08-22 10:11
  • 421
    个人资料
    • 访问:12249943次
    • 积分:90798
    • 等级:
    • 排名:第16名
    • 原创:719篇
    • 转载:169篇
    • 译文:16篇
    • 评论:3070条
    学习经历
    中科院、百度、创新工场、小米、阿里巴巴、米扑科技

    期货从业资格证(2017.03)
    基金从业资格证(2016.11)
    证券投资顾问证(2016.9)
    证券从业资格证(2016.6)
    系统架构设计师(2013)
    软件设计师(2008)
    CSDN创业专访

    程序员创业邦
    QQ群: 239292073
    青春,每一个有梦想的人

    资深产品经理人
    QQ群: 338142405
    思与行,人人都是产品经理

    爱脚本,爱技术
    QQ群: 320296250
    (已满)
    python、ruby、php、go、shell

    程序人生的平凡生活
    QQ群: 282297696
    (已满)
    汇聚百度、小米、微软、腾讯、
    创新工场、阿里巴巴、日本雅虎
    个人博客
    博客专栏
    博客公告
    本博客内容,由米扑博客精心整理
    欢迎交流,欢迎转载,大家转载注明出处,禁止用于商业目的。

    文章分类
    文章存档