Tab控件的使用

合集下载

TabControl 的用法

TabControl 的用法

TabControl 收藏判断选中的选项卡(TabPage)(1)用TabControl 的SelectedTab属性if(tabControl1.SelectedTab == tabPage2)(2)用TabControl 的SelectedIndex 属性if(tabControl1.SelectedTab == 1)设置当前选项卡(TabPage)(1)用SelectTab 方法将指定的选项卡(TabPage)设置为当前的选择卡(TabPage)。

重载形式如下:TabControl.SelectTab (Int32)使具有指定索引的选项卡成为当前选项卡。

TabControl.SelectTab (String)使具有指定名称的选项卡成为当前选项卡。

TabControl.SelectTab (TabPage)使指定的TabPage 成为当前选项卡。

(2)DeselectTab 方法将指定的选项卡(TabPage)后面的选项卡成为当前选项卡(TabPage)。

重载形式如下:TabControl.DeselectTab (Int32)使具有指定索引的选项卡后面的选项卡成为当前选项卡。

TabControl.DeselectTab (String)使具有特定名称的选项卡后面的选项卡成为当前选项卡。

TabControl.DeselectTab (TabPage)使指定的TabPage 后面的选项卡成为当前选项卡。

TabControl 变更事件在TabControl 中的当前选项卡发生更改时,将按以下顺序发生下列事件。

DeselectingDeselectedSelectingSelected(1)Deselecting 事件在取消选择某个选项卡(TabPage)之前发生,使处理程序能够取消选项卡(TabPage)更改。

(2)Deselected 事件当取消选择选项卡(TabPage)时发生。

(3)Selecting 事件在取消选择某个选项卡(TabPage)之前发生,使处理程序能够取消选项卡(TabPage)更改。

tab标签页的使用场景 -回复

tab标签页的使用场景 -回复

tab标签页的使用场景-回复Tab标签页的使用场景和使用方法在现代互联网时代,我们经常需要同时浏览多个网页或者应用程序。

为了方便用户管理多个页面,浏览器和应用程序开发人员引入了Tab标签页的概念。

Tab标签页是指通过在一个窗口中打开多个页面,每个页面都显示在独立的标签中,用户可以通过切换标签来进行页面之间的切换。

Tab标签页的使用场景非常广泛。

无论是在电脑上还是在移动设备上,Tab 标签页都被广泛应用于浏览器、文件管理器、编辑器、聊天软件等各种应用程序中。

下面将逐步从使用场景、优点和使用方法这三个方面来介绍Tab 标签页的具体使用。

一、使用场景1. 浏览器:最常见的使用Tab标签页的场景就是在浏览器中同时打开多个网页。

通过Tab标签页,用户可以方便地在不同网页之间切换,以提高浏览效率。

2. 文件管理器:在文件管理器中,Tab标签页的使用可以帮助用户同时查看不同的文件夹,以便更好地管理文件和进行文件操作。

3. 编辑器:在代码编辑器或者文本编辑器中,Tab标签页可以有助于用户同时编辑多个文件,快速切换到需要编辑的文件,提高工作效率。

4. 聊天软件:在聊天软件中,通过Tab标签页可以同时打开多个聊天窗口,用户可以方便地切换到不同的聊天窗口进行交流。

5. 任务管理器:在任务管理器中,Tab标签页的使用可以帮助用户同时查看并管理多个任务,以便更好地掌握任务的执行进度。

二、优点1. 方便管理:通过Tab标签页,用户可以在同一个窗口中打开多个页面或者应用程序,避免了打开多个窗口带来的混乱感。

用户可以直接在不同的标签页之间进行切换,方便管理和操作。

2. 提高效率:在某些场景下,如果没有Tab标签页,用户需要不断地打开和关闭窗口来切换页面,这无疑会浪费大量时间。

而有了Tab标签页,用户可以一目了然地看到所需页面,并且可以通过简单的点击来切换页面,大大提高了工作效率。

3. 省空间:使用Tab标签页可以节省屏幕空间。

tab控件的使用方法及禁用某一页的方法

tab控件的使用方法及禁用某一页的方法

tab控件的使用方法及禁用某一页的方法
使用Tab控件的方法如下:
1. 创建一个MFC对话框框架。

2. 在对话框资源上从工具箱中添加一个Tab Control控件。

根据需要修改
一下属性。

3. 右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量
绑定在一起,这里设为m_tabctrl。

4. 创建两个新的对话框资源,其属性作如下修改:Border:none,这样它就没了标题栏;Style:Child,这样这个模板就可以当作另一个窗口的子窗口了。

其它如果没有必要,就不用改。

在上面加一些控件什么的,具体操作跟普通对话框没有区别。

完成后从这两个对话框模板生成两个新的对话框类。

5. 使用SetWindowPos()函数设置这两个对话框在Z顺序中的位置,显示
或隐藏状态。

6. 在主对话中为标签控件添加一个标签选择改变(TCN_SELCHANGE)的
控件通知消息,以便在用户选择标签时通知主对话框。

至于禁用某一页的方法,可以通过在代码中设置Tab控件的属性来实现。

具体来说,可以通过调用Tab控件的EnableTab()函数并传递要禁用的标签的索引值来禁用特定的标签页。

例如,如果要禁用第一个标签页,可以调用
EnableTab(0, false),其中0表示标签页的索引值,false表示禁用该标签页。

VC Table控件的用法

VC Table控件的用法

VC之TAB控件VC中使用TAB Control控件假如我现在有个SDI程序,View是Form View,想在上面放个Tab Control,包含两个Page。

现在让我们来看看应该怎样处理。

首先当然要增加一个Tab Control资源,然后利用Class Wizard,在View中增加一个Control变量。

接着建立两个对话框资源,别忘了把Style改为Child,Border改为None。

然后就可以在上面加其他控件了。

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

然后在View类头文件中,加入这两个对话框对象。

同时增加一个变量int m_CurSelTab,用了表明是哪个Page即将被切换。

为了避免用户在切换Tab时,程序对Tab Index的枚举,可以利用数组来做这个事情。

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

void CTab_testView::OnInitialUpdate(){CFormView::OnInitialUpdate();GetParent()->RecalcLayout();ResizeParentToFit();//为Tab Control增加两个页面m_tab.InsertItem(0, _T("First"));m_tab.InsertItem(1, _T("Second"));//创建两个对话框m_page1.Create(IDD_DIALOG1, &m_tab);m_page2.Create(IDD_DIALOG2, &m_tab);//设定在Tab内显示的范围CRect rc;m_tab.GetClientRect(rc);rc.top += 20;rc.bottom -= 8;rc.left += 8;rc.right -= 8;m_page1.MoveWindow(&rc);m_page2.MoveWindow(&rc);//把对话框对象指针保存起来pDialog[0] = &m_page1;pDialog[1] = &m_page2;//显示初始页面pDialog[0]->ShowWindow(SW_SHOW);pDialog[1]->ShowWindow(SW_HIDE);//保存当前选择m_CurSelTab = 0;}这里面需要注意的是,我用了一个CDialog指针数组来进行保存,数组的大小是Tab Control页面的个数,数组下标对应着每个页面的索引(这样方便快速存取)。

avue taboption 用法

avue taboption 用法

AVUE是一款基于Vue.js开发的前端组件库,其中的Tab组件是用于创建选项卡式的导航菜单的。

在使用AVUE的Tab组件时,可以借助TabOption参数来实现一些定制化的功能和样式。

下面将详细介绍AVUE TabOption的用法。

一、TabOption的基本用法在使用AVUE的Tab组件时,可以通过TabOption参数来设置选项卡的样式、功能和行为。

基本的TabOption用法包括以下几个方面:1. 设置选项卡的标题通过TabOption可以设置选项卡的标题,包括文字内容、图标等。

可以通过TabOption的title属性来设置选项卡的标题文字,通过icon属性来设置选项卡的图标。

2. 设置选项卡的样式通过TabOption可以设置选项卡的样式,包括背景色、文字颜色、边框等。

可以通过TabOption的style属性来设置选项卡的样式。

3. 设置选项卡的行为通过TabOption可以设置选项卡的行为,包括点击事件、激活状态等。

可以通过TabOption的event属性来设置选项卡的点击事件,通过active属性来设置选项卡的激活状态。

二、TabOption的高级用法除了基本的用法外,TabOption还可以实现一些高级的定制化功能,包括以下几个方面:1. 设置选项卡的交互效果通过TabOption可以设置选项卡的交互效果,包括切换动画、懒加载等。

可以通过TabOption的effect属性来设置选项卡的切换动画,通过lazy属性来设置选项卡的懒加载行为。

2. 设置选项卡的扩展功能通过TabOption还可以设置选项卡的扩展功能,包括右键菜单、快捷键等。

可以通过TabOption的menu属性来设置选项卡的右键菜单,通过hotkey属性来设置选项卡的快捷键。

3. 设置选项卡的数据源通过TabOption还可以设置选项卡的数据源,包括远程加载、本地存储等。

可以通过TabOption的dataSource属性来设置选项卡的数据源。

vc中tab control的作用

vc中tab control的作用

vc中tab control的作用在VC++中,Tab Control控件的作用是在一个对话框或窗口中设置多个页面,每个页面代表一组控件。

当某个页面的标签被选中时,该页面内的控件就会被显示出来。

Control控件使得在有限的窗口空间内可以显示更多的信息,而且分类清晰。

同时,VC++提供了以文档/视图(Document/View)结构方式开发应用程序的简单方法,在文档中保存数据,在视图中显示数据。

无论是在SDI还是MDI的程序中,每个文档可以对应一个或多个是视图,但常常在显示数据时,需要将同一组数据用不同的视图显示,如列表视图、树型视图等,或者用一个视图显示一部分数据,用另一个视图显示另一部分数据,并且希望能在同一个显示区显示,在需要时进行切换。

将Tab Control控件运用到多视图的切换中,就形成了Tab View。

Tab View的实现方法有三种:1)利用CTabCtrl控件实现Tab View. CTabCtrl是MFC类库中定义的标准控件类,通过对消息TCN-SELCHANGE的处理以及运用函数GetCurSel()、SetCurSel()等,可以很好地完成响应、判断和设置标签控制的工作,因此利用CTabCtrl控件实现Tab View是较容易的方法。

2)利用CSheetCtrl标签选择窗口实现Tab View. 在使用CSheetCtrl时,需要将窗口的切换改为视图切换。

在标签窗口的消息处理函数中,处理切换标签页面的消息,根据不同的标签页面切换不同的视图对象。

3)利用静态分割窗口实现Tab View. 静态分割窗口是一种将窗口分割成多个部分的技术,每个部分可以显示不同的内容。

在实现Tab View时,可以使用静态分割窗口将窗口分割成多个标签页,每个标签页显示不同的内容。

qt6 tabview用法

qt6 tabview用法Qt6是一个强大的跨平台开发框架,提供了许多常用的控件和组件,其中TabView是Qt6中的一个重要控件,用于展示多个标签页的内容。

在本篇文档中,我们将介绍Qt6TabView的基本用法、常见操作和注意事项。

一、基本用法1.包含TabView控件在Qt6中,要使用TabView控件,需要在代码中包含相应的头文件。

通常,需要在.pro文件中添加如下代码:```cppQT+=widgetstabview```这将包含TabView控件所需的头文件和库。

2.创建TabView控件在QtDesigner中,可以直接拖动TabView控件到设计界面中。

在代码中,可以使用以下代码创建TabView控件:```cppQTabView*tabView=newQTabView();```3.添加标签页使用TabView控件时,需要添加标签页来展示不同的内容。

可以使用以下代码向TabView控件中添加标签页:```cppQTabWidget*tabWidget=newQTabWidget();tabWidget->addTab(tabPage1,"Tab1");tabWidget->addTab(tabPage2,"Tab2");tabView->addTab(tabWidget,"MainTab");```这里,我们创建了一个QTabWidget控件,并向其中添加了两个标签页tabPage1和tabPage2。

然后将该标签页添加到主标签页中。

二、常见操作1.切换标签页可以使用以下代码切换到指定的标签页:```cpptabView->setCurrentIndex(index);```其中,index表示要切换到的标签页的索引。

索引从0开始计数。

2.删除标签页可以使用以下代码删除指定的标签页:```cpptabView->removeTab(index);```其中,index表示要删除的标签页的索引。

vc tab控件的用法

vc tab控件的用法
VC中的Tab控件是一种用于创建多页面的用户界面(UI)的工具。

它可以让用户在不同的页面之间切换,以便更好地管理和显示不同的内容。

要使用VC中的Tab控件,您需要执行以下步骤:
1. 在您的VC项目中添加Tab控件。

您可以在Visual Studio的设计视图中直接从工具箱中拖动Tab控件到您的UI中,或者您也可以手动编写代码来创建Tab 控件。

2. 配置Tab控件的属性。

您可以通过属性窗口来设置Tab控件的属性,例如Tab 页的样式、位置、大小等。

3. 添加Tab页。

您可以使用Tab控件的“Pages”属性来添加Tab页。

每个Tab 页都是一个单独的窗口,可以包含您想要显示的内容。

4. 在每个Tab页中添加控件。

您可以在每个T ab页中添加其他控件,例如按钮、文本框、标签等,以便用户可以与页面进行交互。

5. 编写事件处理程序。

您需要编写事件处理程序来处理用户与Tab控件的交互,例如当用户单击一个Tab页时,您可能需要显示不同的内容。

总之,VC中的Tab控件是一种非常有用的工具,可以让您创建复杂的UI,并在不同的页面中显示不同的内容。

如果您想要在您的应用程序中使用Tab控件,请参考VC的文档或教程以获取更多信息。

1。

TableLayoutPanelTab控件的使用

public FormFXFD(string PTtype, string FirstResID) { InitializeComponent(); if (PTtype == "PTFXFD") Resource = new FXFD(PTtype, FirstResID); else Resource = new FXFD(FirstResID); }
rb.Text = Module[i].Title+" "+Module[i].ID;
rb.Tt = new Font("宋体", 12);
}
if (tableLayoutPanelTab.ColumnCount > 0) ((RadioButton)tableLayoutPanelTab.Controls[0]).Checked = true;
if (Resource.bContent)
tableLayoutPanelItem.Controls.Clear();
tableLayoutPanelItem.RowStyles.Clear();
tableLayoutPanelItem.RowCount = Module.Count;
rb.TextAlign = ContentAlignment.MiddleCenter;
rb.Dock = DockStyle.Fill;
rb.Size = new Size(111, 38);
rb.AutoEllipsis = false;
private void radioButton_MouseLeave(object sender, EventArgs e) { RadioButton rb = (RadioButton)sender; if (!rb.Checked) rb.ImageIndex = 0; }

wpf tabcontrol控件用法

wpf tabcontrol控件用法一、WPF TabControl 控件简介WPF TabControl 控件是 WPF 中的一个常用控件,它可以将多个子控件以选项卡的形式展示出来,用户可以通过点击选项卡来切换显示的内容。

TabControl 可以方便地实现多页签功能,并且可以自定义选项卡的样式和布局。

二、TabControl 控件的基本用法1. 创建 TabControl 控件在 XAML 中创建一个 TabControl 控件非常简单,只需要在窗口或页面中添加以下代码即可:```xml<TabControl><!-- 子控件 --></TabControl>```2. 添加子控件在 TabControl 中添加子控件也很容易,只需要在 TabControl 标签内部添加其他控件即可,这些子控件将作为选项卡内容显示出来。

例如:```xml<TabControl><TabItem Header="选项卡1"><TextBlock Text="这是第一个选项卡" /></TabItem><TabItem Header="选项卡2"><TextBlock Text="这是第二个选项卡" /></TabItem></TabControl>```上面的代码创建了两个选项卡,每个选项卡都包含一个 TextBlock 控件。

3. 设置默认选中的选项卡默认情况下,TabControl 的第一个子元素会被设置为默认显示的选项卡。

如果想要更改默认选择,则可以使用 SelectedIndex 属性或SelectedItem 属性。

例如:```xml<TabControl SelectedIndex="1"><TabItem Header="选项卡1"><TextBlock Text="这是第一个选项卡" /></TabItem><TabItem Header="选项卡2"><TextBlock Text="这是第二个选项卡" /></TabItem></TabControl>```上面的代码将默认选择第二个选项卡。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MFC编程实例一:MFC编程Tab控件的使用2011-03-15 08:09:02| 分类: C++(C语言) | 标签:ctabsheet m_ppages int nitem tabsheet |字号订阅本文介绍在MFC如何使用标签控件,实现分页显示。

首先添加TabSheet类,菜单Insert->New Class在弹出的对话框中类名写TabSheet,基类选择TabCtrlTabSheet.h里面CTabSheet window用如下代码替换:#define MAXPAGE 16classCTabSheet : public CTabCtrl{// Constructionpublic:CTabSheet();// Attributespublic:// Operationspublic:// Overrides// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CTabSheet)//}}AFX_VIRTUAL// Implementationpublic:intGetCurSel();intSetCurSel(intnItem);void Show();voidSetRect();BOOL AddPage(LPCTSTR title, CDialog *pDialog, UINT ID);virtual ~CTabSheet();// Generated message map functionsprotected:LPCTSTR m_Title[MAXPAGE];UINT m_IDD[MAXPAGE];CDialog* m_pPages[MAXPAGE];intm_nNumOfPages;intm_nCurrentPage;//{{AFX_MSG(CTabSheet)afx_msg void OnLButtonDown(UINT nFlags, CPoint point);//}}AFX_MSGDECLARE_MESSAGE_MAP()};///////////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif// !defined(AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCL UDED_)TabSheet.cpp里面TabSheet后面用如下代码替换:CTabSheet::CTabSheet(){m_nNumOfPages = 0;m_nCurrentPage = 0;}CTabSheet::~CTabSheet(){}BEGIN_MESSAGE_MAP(CTabSheet, CTabCtrl)//{{AFX_MSG_MAP(CTabSheet)ON_WM_LBUTTONDOWN()//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CTabSheet message handlersBOOL CTabSheet::AddPage(LPCTSTR title, CDialog *pDialog,UINT ID) {if( MAXPAGE == m_nNumOfPages )return FALSE;m_nNumOfPages++;m_pPages[m_nNumOfPages-1] = pDialog;m_IDD[m_nNumOfPages-1] = ID;m_Title[m_nNumOfPages-1] = title;return TRUE;}voidCTabSheet::SetRect(){CRecttabRect, itemRect;intnX, nY, nXc, nYc;GetClientRect(&tabRect);GetItemRect(0, &itemRect);nX=itemRect.left;nY=itemRect.bottom+1;nXc=tabRect.right-itemRect.left-2;nYc=tabRect.bottom-nY-2;m_pPages[0]->SetWindowPos(&wndTop, nX, nY, nXc, nYc,SWP_SHOWWINDOW);for(intnCount=1; nCount<m_nNumOfPages; nCount++ )m_pPages[nCount]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_HIDEWINDOW);}voidCTabSheet::Show(){for(inti=0; i<m_nNumOfPages; i++ ){m_pPages[i]->Create( m_IDD[i], this );InsertItem(i, m_Title[i] );}m_pPages[0]->ShowWindow(SW_SHOW);for(i=1; i<m_nNumOfPages; i++)m_pPages[i]->ShowWindow(SW_HIDE);SetRect();}voidCTabSheet::OnLButtonDown(UINT nFlags, CPoint point) {CTabCtrl::OnLButtonDown(nFlags, point);if(m_nCurrentPage != GetCurFocus()){m_pPages[m_nCurrentPage]->ShowWindow(SW_HIDE);m_nCurrentPage=GetCurFocus();m_pPages[m_nCurrentPage]->ShowWindow(SW_SHOW); // m_pPages[m_nCurrentPage]->SetFocus();}}intCTabSheet::SetCurSel(intnItem){if(nItem< 0 || nItem>= m_nNumOfPages)return -1;int ret = m_nCurrentPage;if(m_nCurrentPage != nItem ){m_pPages[m_nCurrentPage]->ShowWindow(SW_HIDE);m_nCurrentPage = nItem;m_pPages[m_nCurrentPage]->ShowWindow(SW_SHOW);// m_pPages[m_nCurrentPage]->SetFocus();CTabCtrl::SetCurSel(nItem);}return ret;}intCTabSheet::GetCurSel(){returnCTabCtrl::GetCurSel();}/////////////////////////////////////////////////////////////////////////////// CTabSheet添加Tab控件,设置变量m_tab的类型为TabSheet新建两个对话框,CStudent和CClassDlg,对话框内容根据需要自己设计。

将这两个对话框属性设置为:styles选项卡里面style选择child,然后将title bar复选框勾选删掉tabDlg.h文件里面添加#include "TabSheet.h"#include "Student.h"//标签里面要显示的对话框类#include "ClassDlg.h"在class tabDlg里面添加private成员并声明要显示的对话框的一个对象,即private:CStudentdlg;ClassDlg dlg2;最后在tabDlg.cpp初始化函数中添加如下代码即可m_tab.AddPage("班级成绩", &dlg, IDD_DIALOG1);m_tab.AddPage("年级成绩", &dlg2, IDD_DIALOG2);m_tab.Show();运行结果: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里面添加如下代码:m_tab.InsertItem(0,"参数一"); //添加参数一选项卡m_tab.InsertItem(1,"参数二"); //添加参数二选项卡m_tab.InsertItem(2,"结果"); //添加结果选项卡4.在对话框资源里面添加三个对话框资源, ID分别命名为IDD_PARA1, IDD_PARA2, IDD_RESULT. 字体为宋体, 字号为9, style为Child, Border为None, 宽度调整为161. 再分别为其添加对应的基于CDialog类CPara1, CPara2, CResult.5. 在CMyTabDlg类中添加三个成员变量m_para1, m_para2, m_result, 分别是三个子对话框的实例. 代码如下:CResultm_result;CPara2 m_para2;CPara1 m_para1;6. 在IDD_PARA1对话框上添加静态文本控件内容为"参数一" 再在后面插入一个文本框控件, 用ClassWizard将其关联为一个int型变量,名为m_nPara1;在IDD_PARA2对话框上添加静态文本控件内容为"参数二" 再在后面插入一个文本框控件, 用ClassWizard将其关联为一个int型变量,名为m_nPara2;在IDD_RESULT对话框上添加静态文本控件内容为"结果" 再在后面插入一个文本框控件, 用ClassWizard将其关联为一个int型变量,名为m_nResult;7. 为CPara1类添加成员函数intGetParaValue() 代码如下:int CPara1::GetParaValue()...{return m_nPara1;}为CPara2类添加成员函数intGetParaValue() 代码如下:int CPara2::GetParaValue()...{return m_nPara2;}为CResult类添加成员函数void SetResultValue(intnResult) 代码如下:void CResult::SetResultValue(intnResult)...{m_nResult = nResult;}8. 在IDD_MYTAB_DIALOG对话框的初始化函数OnInitDialog里面添加如下代码://关联对话框,并且将IDC_TABTEST控件设为父窗口m_para1.Create(IDD_PARA1,GetDlgItem(IDC_TABTEST));m_para2.Create(IDD_PARA2,GetDlgItem(IDC_TABTEST));m_result.Create(IDD_RESULT,GetDlgItem(IDC_TABTEST));//获得IDC_TABTEST客户区大小CRectrs;m_tab.GetClientRect(&rs);//调整子对话框在父窗口中的位置rs.top+=1;rs.bottom-=60;rs.left+=1;rs.right-=2;//设置子对话框尺寸并移动到指定位置m_para1.MoveWindow(&rs);m_para2.MoveWindow(&rs);m_result.MoveWindow(&rs);//分别设置隐藏和显示m_para1.ShowWindow(true);m_para2.ShowWindow(false);m_result.ShowWindow(false);//设置默认的选项卡m_tab.SetCurSel(0);9. 添加Tab Control控件的TCN_SELCHANGE事件响应函数OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult) ,函数体代码如下: intCurSel = m_tab.GetCurSel();switch(CurSel)...{case 0:m_para1.ShowWindow(true);m_para2.ShowWindow(false);m_result.ShowWindow(false);break;case 1:m_para1.ShowWindow(false);m_para2.ShowWindow(true);m_result.ShowWindow(false);break;case 2:m_para1.ShowWindow(false);m_para2.ShowWindow(false);m_result.ShowWindow(true);break;default:;}*pResult = 0;10. 在IDD_MYTAB_DIALOG对话框下面添加一个按钮, 标题为"计算" 为其添加事件响应函数, 代码如下:m_para1.UpdateData(true);m_para2.UpdateData(true);m_result.SetResultValue(m_para1.GetParaValue()+m_para2.GetParaVal ue());m_result.UpdateData(false);11. 最后演示结果如下:12. 这个小程序很简单,但是他说明了Tab Control控件的基本用法.用法2VC中的CTabCtrl用法与VB、Delphi的选项卡控件有很大的不同,每个属性页是用一个“窗体”(对话框)来实现,于是要为每个属性页对话框建类,还要关联、初始化……实在麻烦得多。

相关文档
最新文档