基于wince的MFC Tab Control控件的使用

1,先建立一个对话框MFC应用程序,然后在工具箱里面把Tab Control控件放到对话框中的合适位置上。

再在对话框类中,声明一个CTabCtrl变量:

CTabCtrl m_tab;

变量m_tab用来与对话框中的Tab Control控件交互,为此要在DoDataExchange函数中加入DDX_Control语句:

1     //{{AFX_DATA_MAP(CTABDlg)
2     DDX_Control(pDX, IDC_TAB, m_tab);
3     //}}AFX_DATA_MAP

IDC_TAB是Tab Control控件的ID。

2,建立两个对话框程序,用来当做Tab Control控件的两个页。别忘了把Style改为Child,Border改为None。然后就可以在上面加其他控件了。

接着分别为这两个对话框建立两个类,比如CPage1和CPage2。

然后在对话框类头文件中,加入这两个对话框对象。同时增加一个变量int m_CurSelTab,用了表明是哪个Page即将被切换。

int m_CurSelTab; 
CPage1 m_page1; 
CPage2 m_page2; 
CDialog* pDialog[2];  //用来保存对话框对象指针

在对话框类的初始化函数中需要把CPage1、CPage2和Tab Control关联起来,并保存页面地址,设置初始页面。

 1 // TODO: Add extra initialization here
 2     //初始化TAB
 3     TCITEM tc1,tc2;
 4     tc1.mask = TCIF_TEXT;
 5     tc1.pszText = _T("第一页");
 6     tc2.mask = TCIF_TEXT;
 7     tc2.pszText = _T("第二页");
 8
 9     m_tab.InsertItem(0, &tc1);
10     m_tab.InsertItem(1, &tc2); //到这里只是添加了两个tab页
11
12     CRect rec;
13     m_tab.GetClientRect(&rec);//获得TAB控件的坐标
14
15     //定位选项卡页的位置,这里可以根据情况自己调节偏移量
16     rec.bottom -= 2;
17     rec.left += 1;
18     rec.top += 27;
19     rec.right -= 3;
20
21     //创建子页面
22     m_page1.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB));
23     m_page2.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB));
24
25     //将子页面移动到指定的位置
26     m_page1.MoveWindow(&rec);
27     m_page2.MoveWindow(&rec);
28
29     //显示子页面
30     m_page1.ShowWindow(SW_SHOW);
31     m_page2.ShowWindow(SW_HIDE);

3,接下来,为Tab Control添加消息处理程序:

ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, &CTabDlg::OnTcnSelchangeTab1)

 1 // TODO: Add your control notification handler code here
 2     switch(m_tab.GetCurSel())
 3     {
 4         case 0:
 5             m_page1.ShowWindow(SW_SHOW);
 6             m_page2.ShowWindow(SW_HIDE);
 7             break;
 8         case 1:
 9             m_page1.ShowWindow(SW_HIDE);
10             m_page2.ShowWindow(SW_SHOW);
11             break;
12         default:
13             break;
14     }

搞定。

基于wince的MFC Tab Control控件的使用

时间: 2024-10-12 21:50:44

基于wince的MFC Tab Control控件的使用的相关文章

C++ MFC Tab Control控件的详细使用

1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish.?2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变量, 变量名为m_tab. 类型为CTabCtrl.?3. 在对话框的初始化函数OnInitDialog

MFC编程 | tab control控件的使用

因为课程需要,会用到MFC编程,所以讲一些经验总结下,以便日后使用查询. // tab control控件的使用 // 建立一个Cluster窗口,通过tab可以切换成C-Means和Fuzzy C-Means窗口 1.插入对话框((ID:IDD_DIG_CLUSTER),删去默认生成的控件“OK”和“Cancel”后,插入一个tab control控件(ID:IDC_TAB).通过类向导,给此对话框定义一个类CCluster,给tab控件定义变量m_tab. 2.插入另外两个对话框作为C-Me

通过编写串口助手工具学习MFC过程——(七)添加Tab Control控件

通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个串口助手再次熟悉一下MFC,并做了一下记录,以便方便以后查阅.做的过程中多是遇到问题直接百度和谷歌搜索来的,所以很多都是不求甚解,知其然不知其所以然.另外做此工具只是为了熟悉了解,许多功能还没有完善!(开发工具VS2008) (七)添加Tab Control控件 要在对话框里添加标签页,点击标签页上

转:Tab Control控件的详细使用

1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish. 2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变量, 变量名为m_tab. 类型为CTabCtrl.    3. 在对话框的初始化函数OnInitDia

在VC++中使用Tab Control控件

系统环境:Windows 7 软件环境:Visual Studio 2008 SP1 本次目的:在模态或非模态对话框中使用Tab Control控件,及引申在单/多文档中使用 查阅MSDN文档,对于创建Tab Control控件,MSDN上说明如下: To use CTabCtrl directly in a dialog box 1.     In the dialog editor, add a Tab Control to your dialog template resource. Sp

MFC List Control控件添加单元格编辑和单元格下拉列表项以适用于数据库相关操作

作为现代的软件,往往是连着数据库的,而连着和用户方便地操作之间,还有着界面这道坎.MFC是Windows上比较好开发用户界面的框架,然而其自带的控件中没有对于数据库表格支持较好的控件,而使用网上提到的 DataGrid 等控件在本人的win8.1+VS2013平台上老出现找不到控件或者头文件的问题,搞的烦死人.最后想到 List Control 控件只要稍作修改,加上单元格编辑和单元格下拉列表,其实就能和数据库进行良好的对接,一百度,果然有人已经做了这件事,实在是太让人感动了!       

mfc Picture Control 控件属性

知识点: Picture Control 控件属性 CStatic类 图片控件 图片控件使用 一.图片控件属性 Picture Control 属性: Type:Frame //框架 Type:Etched Horz水平蚀刻线条 Type:Etched Vert垂真蚀刻线条 Type:Rectangle实心矩形 Type:Bitmap位图 Type:Icon 图标 Type:Enhanced Metafile 增强图元 支持wmf格式图片 Type:Owner Draw 自绘图 Color:颜色

C++ 关于MFC List Control 控件的使用事项 原创

1\在开发项目时,使用到了 listcontrol 控件,就一些问题,做一下备注,以备以后使用 (1)  给list项目 删除所有的项目  DeleteAllItems(); (2) 给list项目 添加一个列 .InsertColumn(0, _T("编号")); (3)给list a项目 设置列的宽度 .SetColumnWidth(0, 50); (4) 在添加项目之前 可以使用 .SetRedraw(false); 来禁止 重画,这样可以提高效率.当添加完成后,可以 使用 .S

OpenCV 通过 MFC 的 Picture Control 控件操作图像

如果希望对显示在MFC Picture Control 控件里的图像进行操作,比如画线画点之类的,可以利用 OpenCV 结合 MFC 本身的鼠标响应函数来实现. 如何将图像显示到 Picture Control 控件不谈,本文是采用的这篇博客所介绍的方法实现的. 点击打开链接 给对话框添加 WM_LBUTTONDOWN 鼠标左键点击消息,在消息响应函数中添加如下代码: void CMFCOpenCVShowDlg::OnLButtonDown(UINT nFlags, CPoint point