参考 http://blog.csdn.net/anye3000/article/details/6700023

CTabCtrl:

BOOL CTabTestDlg::OnInitDialog()
{
CDialog::OnInitDialog(); // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码
m_TabCtrl.InsertItem(, "表一");
m_dlgTabl1.Create(IDD_DIALOG1, &m_TabCtrl);
//设立页面在控件中的范围
CRect rc;
m_TabCtrl.GetClientRect(rc);
rc.top += ;
rc.bottom -= ;
rc.left += ;
rc.right -= ;
m_dlgTabl1.MoveWindow(rc);
m_dlgTabl1.ShowWindow(SW_SHOW);
m_TabCtrl.InsertItem(, "表二");
m_dlgTabl2.Create(IDD_DIALOG2, &m_TabCtrl);
m_dlgTabl2.MoveWindow(rc);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}

在点击标签时要增加事件

void CTabTestDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码 switch(m_TabCtrl.GetCurSel())
{
case :
{
m_dlgTabl1.ShowWindow(SW_SHOW);
m_dlgTabl2.ShowWindow(SW_HIDE);
break;
}
case :
{
m_dlgTabl1.ShowWindow(SW_HIDE);
m_dlgTabl2.ShowWindow(SW_SHOW);
break;
}
default:
m_dlgTabl1.ShowWindow(SW_SHOW);
m_dlgTabl2.ShowWindow(SW_HIDE); }
*pResult = ;
}

CPropSheet:

在设置器中添加几个PropertypePage, 分别建立类, 增加OnSetActive(必要)事件处理, OnWinzarNext事件处理

BOOL PropPage2::OnSetActive()
{
CPropertySheet* pSheet = (CPropertySheet*)GetParent();
pSheet->SetWizardButtons(PSWIZB_BACK | PSWIZB_NEXT);
return CPropertyPage::OnSetActive();
} LRESULT PropPage2::OnWizardNext()
{
//Radio分组是以每个分组第一个radio设置属性group为true, 后面的radio不用设置, 都属于这个组,
//第二组的第一个radio也是设置group为true, 其它本组radrio不用设置group, 依次类推
if(m_Sel1.GetCheck() == && ((CButton*)GetDlgItem(IDC_RADIO2))->GetCheck() ==
&& ((CButton*)GetDlgItem(IDC_RADIO1))->GetCheck() == )
{
MessageBox("请选择数字1");
return -;
}
else if((((CButton*)GetDlgItem(IDC_RADIO4))->GetCheck() == )
&& ((CButton*)GetDlgItem(IDC_RADIO5))->GetCheck() == )
{
MessageBox("请选择数字2");
return -;
}
return CPropertyPage::OnWizardNext();
}

在类视图中右击添加一个类, 选择MFC类(不是普通类), 继承选择CPropertySheet, 添加几个PropertypePage派生类成员, PropSheet构造函数加入数据成员.

 

PropSheet::PropSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
AddPage(&m_PropPage1);
AddPage(&m_PropPage2);
AddPage(&m_PropPage3);
AddPage(&m_PropPage4);
}

常用控件使用在附件中. 包括单选, 复选按钮, 下拉列表, 进度条,CSpinButton(点了数字加减, 或滚动条移的那种按钮), 滑动条.

本例源码下载

另附:孙鑫MFC讲义代码下载

MFC学习 标签页与属性页及各常用控件使用的更多相关文章

  1. bootstrap学习之利用CSS属性pointer-events禁用表单控件

    参考链接: CSS3 pointer-events:none应用举例及扩展 首先pointer-events在除去SVG中的应用只有两个值:AUTO | NONE pointer-events:non ...

  2. VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)

    上一节中鸡啄米讲了标签控件知识的上半部分,本节继续讲下半部分. 标签控件的创建 MFC为标签控件的操作提供了CTabCtrl类. 与之前的控件类似,创建标签控件可以在对话框模板中直接拖入Tab Con ...

  3. VS2010/MFC编程入门之二十(常用控件:静态文本框)

    上一节鸡啄米讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始鸡啄米将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组 ...

  4. VS2010-MFC(常用控件:标签控件Tab Control 下)

    转自:http://www.jizhuomi.com/software/207.html 上一节讲了标签控件知识的上半部分,本节继续讲下半部分. 标签控件的创建 MFC为标签控件的操作提供了CTabC ...

  5. MFC编程入门之二十(常用控件:静态文本框)

    上一节讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控 ...

  6. winFrom 常用控件属性及方法介绍

    目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichTextBox控件 5.NumericUpDown控件 6.Button(按钮)控件 7.Gro ...

  7. MFC之常用控件(四)

    常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控件.列表控件.树形控件和进度条控件等等.本节教程先来讲解静态文本框的使用. 控件的通知消息 在将静态文本框的使用之 ...

  8. C# 常用控件属性及方法介绍

      C#常用控件属性及方法介绍                                               目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox ...

  9. C#常用控件的属性以及方法(转载)

    -----以前看别人的,保存了下来,但是忘了源处,望见谅. C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichText ...

随机推荐

  1. Git基本命令

    获取master: git clone ssh://some.i.p/some/source/~/somerep 获取branch: git clone -b branch-version ssh:/ ...

  2. C# WinForm开发系列 - ComboBox

    5.一个带CheckBox,分组,颜色标记等功能的下拉框  PowerComboBoxCSharp.rar 包含自动完成下拉框,字体下拉框,电脑盘符,多列下拉框,带CheckBox,树型下拉框等.代码 ...

  3. IOS开发-PCH文件的使用

    PCH文件存储一些共享的数据,在其他的文件可以直接使用,这样减少程序输入,比如存储宏定义 1.首先新建PCH文件 2.建立完毕 3.在这里找到文件路径 4.进入targets 点击Build Sttt ...

  4. Neutron分析(7)—— neutron-l3-agent HA solutions

    1. keepalived vrrp/conntrackd High availability features will be implemented as extensions or driver ...

  5. (转)ORACLE触发器详解

    本文转载自:http://blog.csdn.net/indexman/article/details/8023740/ ORACLE PL/SQL编程之八: 把触发器说透 本篇主要内容如下: 8.1 ...

  6. Linux From Scratch [2]

    1. gcc需要的一些lib GMP:A free library for arbitrary precision arithmetic, operating on signed integers, ...

  7. php安装redis扩展

    1.windows安装redis扩展 php_redis.dll (for windows) 的下载地址:http://windows.php.net/downloads/pecl/snaps/red ...

  8. makefile详解 嵌套执行make,定义命令包

    嵌套执行make 在一些大的工程中,我们会把我们不同模块或是不同功能的源文件放在不同的目录中,我们可以在每个目录中都书写一个该目录的Makefile,这有利于让我们的Makefile变得更加地简洁,而 ...

  9. [Freescale]E9学习笔记-LTIB总结

    转自:http://blog.csdn.net/wl_haanel/article/details/6231353   写在前面        符号'##'后面语句均为注释        需要做的操作 ...

  10. SVN代码回滚命令之---merge的使用

    一.改动还没被提交的情况(未commit) 这种情况下,见有的人的做法是删除work copy中文件,然后重新update,恩,这种做法达到了目的,但不优雅,因为这种事没必要麻烦服务端. 其实一个命令 ...