标题:LeftView中插入Tab控件问题
只看楼主
莱科宁
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-11-6
 问题点数:0 回复次数:2 
LeftView中插入Tab控件问题
我在LeftView中添加一个Tab控件,想使控件填满LeftView,并随LeftView大小的改变而改变,以下是代码

int CLeftView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    CRect r;
         GetClientRect(&r);
    m_tab.Create( WS_VISIBLE | BS_AUTO3STATE,CRect(r.left,r.top,r.Width(),r.Height()),this,123);
    //创建Tab控件,CRect()是Tab控件的位置

    TCITEM item;
    item.mask = TCIF_TEXT;
    item.pszText = "资料";
    m_tab.InsertItem (0,&item);
         item.pszText ="文件";
         m_tab.InsertItem (1,&item);
    m_mm1.Create (IDD_DIALOG1,&m_tab);
    m_mm2.Create (IDD_DIALOG2,&m_tab);

         m_tab.GetClientRect (&r);
    m_mm1.SetWindowPos (NULL,0,0,r.right,r.bottom-23,SWP_SHOWWINDOW);//显示m_mm1和m_mm2对话框在Tab控件上
    m_mm2.SetWindowPos (NULL,0,0,r.right,r.bottom-23,SWP_HIDEWINDOW);// 坐标是对话框在Tab控件上的位置

    return 0;
}
应该怎么改才能实现?
搜索更多相关主题的帖子: Tab LeftView 控件 
2008-11-10 15:09
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
得分:0 
在CLeftView的窗口改变事件响应函数中添加代码(好象是OnWindowPosChanged吧或是OnSize,自己试下吧):
1、得到当前CLeftView的大小,参数里应该是传进来了。
2、调整Tab控件的大小与CleftView窗口的大小相适应。
2008-11-10 20:10
莱科宁
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-11-6
得分:0 
m_tab.Create( WS_VISIBLE | BS_AUTO3STATE,CRect(r.left,r.top,r.Width(),r.Height()),this,123);
这句代码的意思是创建Tab时使Tab大小和LeftView大小相同,但运行的时候只有宽度相同,高度却很小,不知道为什么?

GetClientRect(&r); 获得的是LeftView窗口的大小吗?

[[it] 本帖最后由 莱科宁 于 2008-11-10 22:18 编辑 [/it]]
2008-11-10 22:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-243377-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.443323 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved