CTabCtrl - 如何使用TabCtrl控件
CTabCtrl - 如何使用TabCtrl控件
建立一个基于对话框的MFC应用程序TabCtrlTest
Step 1:在资源视图中,新建对话框资源,资源ID:IDD_TabCtrlExample_DLG,添加类:CTabCtrlExamlpeDlg。
Step 2:在对话框视图中加入CTabCtrl控件,资源ID:IDD_TAB1,添加控件变量:m_ctlTabInfo。
Step 3:新建两个对话框:
对话框ID |
添加类 |
设置对话框属性 |
补充 |
|
对话框1 |
IDD_Test1_DlG |
CTest1 |
Border:None Styles:Child |
界面可自行设计 |
对话框2 |
IDD_Test2_DlG |
CTest2 |
在CTabCtrlExamlpeDlg定义两个成员变量:
public:
CTabCtrl m_ctlTabInfo;
CTest1 m_test1Page;//界面1
CTest2 m_test2Page;//界面2
Step 4:重写CTabCtrlExamlpeDlg::OnInitDialog()函数
(类视图下,选中CCTabCtrlExamlpeDlg类,右键属性,单击属性界面右边第一个正方体图标,双击OnInitDialog即可)
BOOL CTabCtrlExamlpeDlg::OnInitDialog()
{
CDialog::OnInitDialog(); // TODO: 在此添加额外的初始
#pragma region 初始化TabCtrl控件
//首先,为各Tab页添加标题
m_ctlTabInfo.InsertItem(,_T("界面一"));
m_ctlTabInfo.InsertItem(,_T("界面二")); //第二,建立各Tab页
m_test1Page.Create(IDD_Test1_Dlg, GetDlgItem(IDC_TAB1));
m_test2Page.Create(IDD_Test2_Dlg, GetDlgItem(IDC_TAB1)); //第三,设置页面的位置在m_ctlTabInfo控件范围内
CRect rc;
m_ctlTabInfo.GetClientRect(rc);
rc.top += ;
rc.bottom -= ;
rc.left += ;
rc.right -= ; m_test1Page.MoveWindow(rc);
m_test1Page.ShowWindow(SW_SHOW);
m_test2Page.MoveWindow(rc);
m_test2Page.ShowWindow(SW_HIDE);
#pragma endregion return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
Step 5:响应TabCtrl控件的TCN_SELCHANGE消息,实现切换页面功能。
(右键TabCtrl控件à添加事件处理程序à选中TCN_SELCHANGE消息à添加编辑)
void CTabCtrlExamlpeDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
*pResult = ;
switch (m_ctlTabInfo.GetCurSel())
{
case :
m_test1Page.ShowWindow(SW_SHOW);
m_test2Page.ShowWindow(SW_HIDE);
break;
case :
m_test1Page.ShowWindow(SW_HIDE);
m_test2Page.ShowWindow(SW_SHOW);
break;
default:
break;
}
}
CTabCtrl - 如何使用TabCtrl控件的更多相关文章
- MFC TabCtrl 控件修改标签尺寸
注意:无论那种方法,都要先设置Tab控件的Style属性为fixed width. 第一种方法 MFC,tabcontrol控件改变标签大小 - CSDN博客 https://blog.csdn.ne ...
- VC中动态添加控件
VC中动态添加控件 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个 ...
- MFC 动态创建控件
动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一 ...
- MFC控件CTabCtrl关联变量
1.先建立一个对话框MFC应用程序,然后在工具箱里面把Tab Control控件放到对话框中的合适位置上. 再在对话框类中,将该控件绑定一个变量 用两种方法: 1 ) 自己定义成员变量 CTabCtr ...
- 在CTabCtrl上动态创建CListCtrl控件
m_List.Create(WS_OVERLAPPED|WS_CHILD|WS_VISIBLE|LVS_REPORT|LVS_AUTOARRANGE|LVS_SHOWSELALWAYS|LVS_EDI ...
- Clean小程序(控件消息)
一 . 准备工作 创建一个基于对话框的MFC项目 删除对话框上的工具 二 . 实现将seven图片贴到上面,按一下则换一张图片 1.在资源视图中添加位图资源,通过属性修改图片ID 2.将对话框拉长,防 ...
- 023.MFC_属性页控件(tab control)
属性页控件属性页->选项卡->对话框CTabCtrl一.建立名为tabCtrl的mfc工程,添加Tab Control控件,设置属性ID为IDC_TAB,并添加变量m_tab 在tabCt ...
- Windows 程序设计(4) MFC-02 基本控件-下
1. TabCtrl 标签控件 1.1 创建主窗口 1)CMFCTabControlDlg,拖拽标签控件 2)增加变量 CTabCtrl m_tabCtrl 3)设置相关成员变量和处理函数 CFile ...
- MFC学习 标签页与属性页及各常用控件使用
参考 http://blog.csdn.net/anye3000/article/details/6700023 CTabCtrl: BOOL CTabTestDlg::OnInitDialog() ...
随机推荐
- Why stackedit
马克飞象 这个小工具很不错.初初看上了他能够很好写Latex,然后能同步到Evernode.但有个问题,在ipad上面用evernote的App时,latex不能显示.可能是权限的问题. Stacke ...
- POJ 1135 Domino Effect (spfa + 枚举)- from lanshui_Yang
Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...
- Python学习入门基础教程(learning Python)--8.3 字典常用的方法函数介绍
本节的主要讨论内容是有关dict字典的一些常用的方法函数的使用和范例展示. 1. clear清除字典数据 语法结构如下: dict_obj.clear() 示例代码如下: dict1 = {'web' ...
- jQuery模拟原生态App上拉刷新下拉加载
jQuery模拟原生态App上拉刷新下拉加载效果代码,鼠标上拉时会显示loading字样,并且会模拟加载一条静态数据,支持触屏设备使用. <!doctype html> <html ...
- html系列教程--文本格式化
<b>定义粗体文本</b> <br /> <strong>定义加重语气</strong> <br /> <big>定 ...
- 配置Nutch模拟浏览器以绕过反爬虫限制
原文链接:http://yangshangchuan.iteye.com/blog/2030741 当我们配置Nutch抓取 http://yangshangchuan.iteye.com 的时候,抓 ...
- 利用Gson进行String和对象的转换
利用Gson进行String和对象的转换 /** * 从JsonStr中解析BUserBase * @param jsonStr * @return */ public static BUserBas ...
- UIPasteboard 粘贴板
UIPasteboard *pasteboard = pasteboard.string = self.label.text;
- js-计算器
<div class="main"><h1>HTML5-计算器</h1> <input id="num1& ...
- sheelエラー、オブジェクトを解析中にエラーが発生しました。