tab控件的使用心得

现在要做一个登陆系统,功能包括注册消息,修改消息,登陆等等。考虑使用tab控件来将所有功能都集中在一个对话框中实现。

step1  在主对话框中拖入一个tab控件,命名随意,在ClassWizard为控件添加变量, 变量名为m_tab. 类型为CTabCtrl。

step2  为tab控件中每一个选项卡初始化名称。例如将第一个选项卡命名为“登陆”的代码:m_taboption.InsertItem(0, "登陆")。以此类推。

step3  有几个选项卡新建几个对话框资源,并将在主对话框中实例化这几个对话框的对象,并将每个对话框都关联到tab控件上。例如我新建了一个登陆对话框类loginDlg, 并在主对话框中有一个成员是该对话框的实例化对象m_CloginDlg, 使用m_CloginDlg.Create(IDD_DIALOG_LOGIN, &m_taboption)即可。

step4  将对话框放在特定位置,我将每个功能对话框的坐标设置在tab控件内。部分代码如下:

//获得IDC_TAB大小
CRect rs;
m_tab.GetWindowRect(&rs);
//调整子对话框在父窗口中的位置
rs.top += 20;

m_CloginDlg.MoveWindow(&rs);

step5  根据点击不同的tab控件中的选项,设置为只有一个对话框显示。部分代码如下:

int tabnumber = m_taboption.GetCurSel();

switch (tabnumber)
    {
        case 0:
            m_CloginDlg.ShowWindow(true);
            m_CcontactusDlg.ShowWindow(false);
            m_CmodifyDlg.ShowWindow(false);
            m_CregisterDlg.ShowWindow(false);
            break;

......

step 6  也许还需要设置tab控件中的选项卡尺寸

//设置tab标签大小,这里只有四个选项,想要与tab控件尺寸一致
    CSize tabsize;
    tabsize.cx = (rs.right - rs.left) / 4 - 1;
    tabsize.cy = 20;
    m_taboption.SetItemSize(tabsize);

ok,tab控件搞定,每个选项的具体实现就在每个对话框中实现啦。

时间: 2024-11-24 22:02:01

tab控件的使用心得的相关文章

终于知道如何使Tab控件的不出现白边的方法了

如下图,在棋盘右侧添加了Tab控件,做成属性页的样子,但出现了白边,很不美观: 后来发现,需要把Tab空间的Owner Draw Fixed 设置为TRUE.但问题又来了,属性页上的标题文字不显示了,结果如图: 继续搜索,原来需要CTabCtrl的DrawItem函数,事实上MFC是强制要求重载的,实际操作过程如下: void CMyTabCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){ //获取选项卡文字内容 TCHAR szTabText[

[工具推荐]005.Axure RP Pro 7.0模拟C#TAB控件

有一次,主管安排我写一个项目的原型,但是项目中涉及到了Tab控件,在Axure中的控件中找了一番,没有找着Tab控件.那么我们只能换种法子来实现它了,我们用到了Dynamic Panel来模拟. 1.首先我们拖动Dynamic Panel到我们的页面中.如下 2.双击Dynamic panel,然后跟据你要创建的Tab页面填写 3.然后点击面板状态下面的第五个按钮,进行所有控件编辑 4.然后拉一个Rectangle和两个Button Shape到页面1上面 5.选中Button Shape右键-

全新android Tab控件PagerSlidingTabStrip最简使用方法

众所周知Android的Tab控件不是很好用,因此Github上的PagerSlidingTabStrip项目被广为使用,该项目地址为: https://github.com/astuetz/PagerSlidingTabStrip 其示例图如下: 由于其demo代码较长,难以理解,因此我总结了一个最简的使用方法. 第一,在ADT中导入PagerSlidingTabStrip中的library项目,若使用Android Studio则直接导入即可,若使用ADT则需参考我的上一篇文章进行导入: h

TAB控件事件在Report程序中的定义及使用

SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF } .L0S31 { font-style: italic; color: #808080 } .L0S32 { color: #3399FF } .L0S33 { color: #4DA619 } .L0S52 { color: #0000FF } .L0S55 { color: #800080 } .L0S7

我的开源框架之TAB控件

需求 (1)支持iframe.html.json格式的tab内容远程请求 (2)支持动态添加tab (3)支持远程加载完成监听,支持tab激活事件监听 (4)支持reload tab内容[如果是远程加载] (5)支持邮件菜单[未实现] 实现图例 客户代码 1 <body> 2 <div id="text"> 3 <h3>无题</h3> 4 <p>月落湖面两清影,</p> 5 <p>岸柳丝丝弄轻盈.<

NVelocity+Bootstrap tab控件 异常之

异常信息:Encountered "tings" at line 54, column 55.Was expecting one of:   "(" ...   <WHITESPACE> ... 该异常在使用NVelocity生成HTML读取模板时出错,原因不知道,提示的错误是BootStrap 一个Tab控件的某一行,如图: 解决方法,把这行删除了.也许是这个settings和NVelocity的某个机制冲突了

选中Tab控件单击事件,点击tab头,定位到导航栏的选项,为选中状态 ,DevExpress.XtraNavBar.NavBarControl 导航控件定位或选中状态 另导航的选项为选中状态.

/// <summary> /// 选中Tab控件单击事件,点击tab头,定位到导航栏的选项,为选中状态 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void xtraTabControl1_Click(object sender, EventArgs e) { Xtr

WPF-菜单和Tab控件

WPF-菜单和Tab控件 因为菜单和Tab控件一起用,所以就拿出来一块写 Tab控件 定义一个名为ViewItem类,定义Tab的属性 1 /// <summary> 2 /// tab item 3 /// </summary> 4 public class ViewItem 5 { 6 /// <summary> 7 /// 标题 8 /// </summary> 9 public string Header 10 { 11 get; 12 set; 1

网页Tab控件

找到:http://www.open-open.com/ajax/2_Tabs.htm 页面,查看了若干Tab控件, 找到了:http://www.open-open.com/ajax/ajax20090422095126.htm  ap Tabs ,基于prototype的, 其他的Tab插件页面访问不顺畅: ap Tabs官网:http://www.javascriptkit.com/script/script2/apTabs/index.shtml  这是一个久远的Tab控件了: 但是非常