| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 525 人关注过本帖
标题:有关tab控件的问题
收藏  订阅  推荐  打印 
jpolaris
Rank: 1
等级:新手上路
帖子:21
积分:310
注册:2006-11-24
有关tab控件的问题

我建了一个基于单文档的应用程序,在主框架中利用CSplitterWnd将视图分为左右两个部分,这两个视图都是基于CFormView的.现在我在左面的视图中加了一个tab控件,每一个tab页关联一个对话框.

现在出现的问题时:
怎么使对话框位于tab范围内,可以动态改变对话框的大小吗?
如果tab控件的大小与左边视图的大小不一样,是否会有影响?
利用哪个函数可以得到左边视图的大小?

谢谢!
搜索更多相关主题的帖子: tab  控件  
2007-8-1 11:48
kzqjun2008
Rank: 2
等级:注册会员
帖子:50
积分:608
注册:2007-2-10

使对话框位于TAB范围内:
CRect rect;
m_tab1.GetClientRect(rect);
rect.InflateRect(-1,-30,-2,-2);
m_page1->MoveWindow(rect);
m_page1->ShowWindow(SW_SHOW);
m_tab1 是TAB控件
m_page1 是无边框的对话框

获取大小可用:
GetDlgItem(IDC_TAB1)->GetWindowRect(&rect);
ScreenToClient(&rect);

改变控件大小:

用MoveWindow可以实现,修改后两个参数
2007-8-1 13:35
jpolaris
Rank: 1
等级:新手上路
帖子:21
积分:310
注册:2006-11-24
回复:(kzqjun2008)使对话框位于TAB范围内: CRect ...

我试了一下,但还是不行 ,对话框移到了屏幕坐标处,但是用了screentoclient之后,还是没在tab范围内

请问在资源中编辑的对话框的大小有影响吗?

2007-8-1 15:01
kzqjun2008
Rank: 2
等级:注册会员
帖子:50
积分:608
注册:2007-2-10

你是不是没将对话框添到TAB控件内呀?
你先
 m_tab1.InsertItem(0,"第一页");
 CPage1 * m_page1=new CPage1();
m_tab1.m_page1=m_page1;
m_page1->Create(IDD_PAGE1,&m_tab1);
然后再用最上面的语句
2007-8-2 13:09
kzqjun2008
Rank: 2
等级:注册会员
帖子:50
积分:608
注册:2007-2-10

对了,得先把m_page1 申明为TAB控件的成员变量,即
CPage1 * m_page1;
CPage1派生于CPropertyPage
2007-8-2 13:14
yao58598
Rank: 1
等级:新手上路
帖子:6
积分:162
注册:2008-9-8

貌似增加的标签达到多行后,那对话框遮挡了几个标签,点不着了....
2008-9-8 14:58
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051043 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved