古月西城
C++博客
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
tab控件的使用
//
使用CTabCtrl控件实现属性页功能
//
在视图窗口内加入CTabCtrl控件,设变量名为m_tab,新建两个对话框属性设为Child,None,用ClassWizard生成新的类,基类为Cdialog,分别为Cpage1,Cpage2,ID号分别为IDD_DIALOG1,IDD_DIALOG2。在CtestView内加入两个变量,Cpage1 page1;Cpage2 page2。
//
在CtestView的OnInitialUpdae()内初始化
void
CTestView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()
->
RecalcLayout();
ResizeParentToFit();
if
(
!
page1.m_hWnd
||!
page2.m_hWnd)
//
第一次初始化m_tab 控件和page页的建立
{
//
初始化m_tab控件
m_tab.InsertItem(
0
,
"
page0 北京
"
);
m_tab.InsertItem(
1
,
"
page1上海
"
);
m_tab.InsertItem(
2
,
"
page2江西
"
);
//
建立属性页各页
page1.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));
page2.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1));
//
设置页面的位置在m_tab控件范围内
CRect rs;
m_tab.GetClientRect(rs);
rs.top
+=
20
;
rs.bottom
-=
4
;
rs.left
+=
4
;
rs.right
-=
4
;
page1.MoveWindow(rs);
page2.MoveWindow(rs);
page1.ShowWindow(TRUE);
m_tab.SetCurSel(
1
);
}
}
m_tab控件属性页选择时显示各页
void
CTestView::OnSelchangeTab1(NMHDR
*
pNMHDR, LRESULT
*
pResult)
{
//
TODO: Add your control notification handler code here
int
CurSel;
CurSel
=
m_tab.GetCurSel();
switch
(CurSel)
{
case
0
:
page1.ShowWindow(FALSE);
page2.ShowWindow(FALSE);
break
;
case
1
:
page1.ShowWindow(TRUE);
page2.ShowWindow(FALSE);
break
;
case
2
:
page1.ShowWindow(FALSE);
page2.ShowWindow(TRUE);
break
;
default
: ;
}
*
pResult
=
0
;
}
发表于 2009-03-10 05:12
古月西城
阅读(579)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
随笔:2 文章:5 评论:0 引用:0
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔档案
2009年3月 (1)
2009年2月 (1)
文章分类
MFC(1)
(rss)
文章档案
2009年3月 (4)
2009年2月 (1)
开源库
ADO
CHash
Hash算法的MFC库
一个牛人
搜索
最新评论
阅读排行榜
1. Access 连接字符串代码(3337)
2. 安全读取进程内存数据(1265)
评论排行榜
1. Access 连接字符串代码(0)
2. 安全读取进程内存数据(0)