码迷,mamicode.com
首页 > 编程语言 > 详细

MFC_2.5 选项卡控件的使用

时间:2019-05-26 23:39:36      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:处理   opera   abc   dialog   contain   主菜单   点击   ber   对话   

选项卡控件的使用

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 选项卡控件的使用

标签:处理   opera   abc   dialog   contain   主菜单   点击   ber   对话   

原文地址:https://www.cnblogs.com/ltyandy/p/10928329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!