MFC学习 标签页与属性页及各常用控件使用
参考 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学习 标签页与属性页及各常用控件使用的更多相关文章
- bootstrap学习之利用CSS属性pointer-events禁用表单控件
参考链接: CSS3 pointer-events:none应用举例及扩展 首先pointer-events在除去SVG中的应用只有两个值:AUTO | NONE pointer-events:non ...
- VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)
上一节中鸡啄米讲了标签控件知识的上半部分,本节继续讲下半部分. 标签控件的创建 MFC为标签控件的操作提供了CTabCtrl类. 与之前的控件类似,创建标签控件可以在对话框模板中直接拖入Tab Con ...
- VS2010/MFC编程入门之二十(常用控件:静态文本框)
上一节鸡啄米讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始鸡啄米将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组 ...
- VS2010-MFC(常用控件:标签控件Tab Control 下)
转自:http://www.jizhuomi.com/software/207.html 上一节讲了标签控件知识的上半部分,本节继续讲下半部分. 标签控件的创建 MFC为标签控件的操作提供了CTabC ...
- MFC编程入门之二十(常用控件:静态文本框)
上一节讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控 ...
- winFrom 常用控件属性及方法介绍
目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichTextBox控件 5.NumericUpDown控件 6.Button(按钮)控件 7.Gro ...
- MFC之常用控件(四)
常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控件.列表控件.树形控件和进度条控件等等.本节教程先来讲解静态文本框的使用. 控件的通知消息 在将静态文本框的使用之 ...
- C# 常用控件属性及方法介绍
C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox ...
- C#常用控件的属性以及方法(转载)
-----以前看别人的,保存了下来,但是忘了源处,望见谅. C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichText ...
随机推荐
- Servlet Filter 3
11.MD5加密 /** * 使用md5的算法进行加密 */ public static String md5(String plainText) { byte[] secretBytes = nul ...
- bzoj4702: 装箱游戏
Description Alice和Bob正在玩一个非常无聊的游戏以打发时间.游戏是这样的.初始的时候,有n个箱子和m个物品.箱子.物 品都是不同的.因此有nm种方法把这些物品放到箱子里.两个人轮流操 ...
- WINDOWS黑客基础(3):注入代码
有使用过外挂的朋友应该知道,我们在玩游戏的时候,有很多辅助功能给你使用,比如吃药,使用物品等功能,这个时候我们就是使用注入代码的技术,简单的来将就是我们让另外一个进程去执行我们想让它执行的代码,这中间 ...
- datagridview 不显示行号的问题
环境:C#,Winform 场景: 窗体上有两个tab页A.B,每个tab页上都有一个DatagridView.窗体加载后,显示tab A选项卡.序号正常显示,但点击B选项卡后,DatagridVie ...
- MySQL优化—工欲善其事,必先利其器之EXPLAIN
最近慢慢接触MySQL,了解如何优化它也迫在眉睫了,话说工欲善其事,必先利其器.最近我就打算了解下几个优化MySQL中经常用到的工具.今天就简单介绍下EXPLAIN. 内容导航 id select_t ...
- JavaScript 设置、读取Cookie
1.设置Cookie //设置cookie function setCookie(cookieName, cookieValue, cookieExpires, cookiePath) { cooki ...
- 黄聪:PHP5.6+7代码性能加速-开启Zend OPcache-优化CPU
说明 PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的).对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法 ...
- 黄聪:如何使用WebKitBrowser调用元素点击事件(C#)
string s = "var _elm = document.getElementById('loginBtn');var _evt = document.createEvent('Mou ...
- linux网络不同的解决办法
贯标防火墙,iptables 注释掉/etc/hosts的localhost的ipv6地址映射
- The tag 'ChartPlotter' does not exist in XML namespace
本地build的时候每次都是OK的,但是Shelveset到Server上build的时候,总是出错. 果断google/bing了几个建议,无果. 不得不重新仔细的看server上的building ...