选项卡控件的使用

1.新建默认MFC文件。

2.资源-添加Dialog-添加类。(假设生成3个,Dialog1Dialog2Dialog3)

3.类向导,添加类,点小三角形,添加MFC类。添加CTabCtrl类

4.CTabCtrl 里面添加新的函数

// 添加选项卡的[选项名]
VOID CMyTabCtrl::InsertTabColumn()
{
InsertItem(0, L"主菜单");
InsertItem(1, L"强力杀毒");
InsertItem(2, L"文件查找");
}

// 添加对话框
VOID CMyTabCtrl::InsertTabDialog()
{
// 1. 生成对话框
DialogArr[0] = new CMyDialog1;
DialogArr[1] = new CMyDialog2;
DialogArr[2] = new CMyDialog3;

// 2. 通过 id 创建窗口
DialogArr[0]->Create(IDD_DIALOG1);
DialogArr[1]->Create(IDD_DIALOG2);
DialogArr[2]->Create(IDD_DIALOG3);

// 3. 将窗口移动到指定的位置
CRect Rect;
GetClientRect(&Rect);
Rect.DeflateRect(17, 44, -9, -12);
DialogArr[0]->MoveWindow(&Rect);
DialogArr[1]->MoveWindow(&Rect);
DialogArr[2]->MoveWindow(&Rect);

// 3. 显示窗口
ShowTabDialog(1);
}

// 显示指定的对话框
VOID CMyTabCtrl::ShowTabDialog(int index)
{
for (int i = 0; i < 3; ++i)
{
if (i == index)
DialogArr[i]->ShowWindow(SW_NORMAL);
else
DialogArr[i]->ShowWindow(SW_HIDE);
}
}


BEGIN_MESSAGE_MAP(CMyTabCtrl, CTabCtrl)
ON_NOTIFY_REFLECT(TCN_SELCHANGE, &CMyTabCtrl::OnTcnSelchange)
END_MESSAGE_MAP()



// CMyTabCtrl 消息处理程序



// 消息反射处理对话框选项卡的切换
void CMyTabCtrl::OnTcnSelchange(NMHDR* pNMHDR, LRESULT* pResult)
{
// 获取点击了第几个
int index = GetCurSel();

// 显示指定的
ShowTabDialog(index);

*pResult = 0;
}

6.默认生成的Dialog绑定变量,类型为CMyTabCtrl

7.初始化默认生成的

// 向选项卡中添加数据
m_TabCtrl.InsertTabColumn();

// 添加对话框
m_TabCtrl.InsertTabDialog();

MFC_2.5 选项卡控件的使用的更多相关文章

  1. MFC_2.10选项卡控件的封装

    选项卡控件的封装 1.新建默认MFC项目 2.添加资源Dialog,属性style改child,边框改none,添加类取名CMyDialog1: 同理,CMyDialog2: 3.类向导,添加MFC类 ...

  2. cocos2dx Tab选项卡控件的实现

    选项卡控件在游戏和应用中很是常见,但是cocostudio里并没有实现好的选项卡控件,于是自己封装了 一个,效果如下: 代码: TabUiControl.h #pragma once //std #i ...

  3. 在WinForm应用程序中,使用选项卡控件来加载不同的Form界面!

    TabPage tp=new TabPage(); your选项卡控件.Controls.Add(tp); From1 frm=new Form1(); frm.TopLevel = false; f ...

  4. C# 选项卡控件

    选项卡控件,它提供一系列操作按钮,单击不同的按钮可以在各个页面之间进行切换. 在Windows Form应用程序中,选项卡控件即“TebPage”控件,它公开“TebPage”属性,表示一个由“Tab ...

  5. TabControl 选项卡控件

    TabControl 控件是由System.Windows.Forms.TabControl类提供的,作用就是讲相关的组件组合到一系列选项卡页面上.   MulitiLine 属性用来设置是否显示多行 ...

  6. KRBTabControl(中文)Windows选项卡控件

    本文阐述了如何在C#使自定义Windows选项卡控件. Download demo project - 82.4 KB Download source - 252 KB 介绍 本文讨论如何使用.NET ...

  7. PyQt5复杂控件(树控件、选项卡控件(滚动条控件、多文档控件、停靠控件)

    1.树控件的基本使用方法QTreeWidget'''QTreeWidget树控件的使用方法添加图标,添加表格,添加复选框等'''from PyQt5.QtWidgets import *from Py ...

  8. 【NX二次开发】Block UI 选项卡控件

    [NX二次开发]Block UI 选项卡控件

  9. 选项卡控件(TabControl)的操作

    移除选项卡和删除不同:前者可以从控件中移除不需要的选项,后者可以删掉整个控件.

随机推荐

  1. java中的ShortBuffer

    一.概述 java.lang.Object java.nio.Buffer java.nio.ShortBuffer public abstract class ShortBuffer extends ...

  2. UILongPressGestureRecognizer 运行两次的解决的方法

    近期维护之前用iOS SDK 3.2写过的3年多前的map方面的模块,在地图上长按pin,发觉一个点莫名奇异点插了两个pin. 查了一下,原来是如今的sdk要在UILongPressGestureRe ...

  3. JavaScript图片裁剪

    1.jquery 图片裁剪库选择 Jcrop:http://deepliquid.com/content/Jcrop.html imgareaselect:http://odyniec.net/pro ...

  4. Eclipse Android环境配置

    1.离线安装ADT插件,先将ZIP包下载 Help- Install New Software- Add 重启 2.WIndows -Preference设置SDK目录

  5. python js

    js = 'var a=document.getElementsByClassName("user-data-right")[0];a.target="_self&quo ...

  6. 安卓图片载入之使用universalimageloader载入圆形圆角图片

    前言 话说这universalimageloader载入图片对搞过2年安卓程序都是用烂了再熟悉只是了.就是安卓新手也是百度就会有一大堆东西出来,今天为什么这里还要讲使用universalimagelo ...

  7. phpstorm配置php脚本执行

    1.到设置中配置 2.配置具体项 3.完了就可以执行php脚本了

  8. HDU 1394 线段树or 树状数组~

    Minimum Inversion Number Description The inversion number of a given number sequence a1, a2, ..., an ...

  9. BSGS算法及拓展

    https://www.zybuluo.com/ysner/note/1299836 定义 一种用来求解高次同余方程的算法. 一般问题形式:求使得\(y^x\equiv z(mod\ p)\)的最小非 ...

  10. ubuntu 16.04 Eclipse 图标显示为 ?(已解决)

    这个问题挺好解决: sudo gedit /usr/share/applications/eclipse.desktop在这个文件中将Icon=/home/soyo/eclipse/icon.xpm, ...