VS2005调节主界面时,界面上的控件,以及(tab control中的)子界面上的控件一起缩放

最近利用VS2005编写了个工具,需要可以调节界面大小,研究了好些天,终于解决。整理如下

主要是利用onsize,重写onsize实现的

注:

1)若界面无法调整大小,则是因为界面属性少了个调整大小的属性,需进到*.rc中,添加上


2)如果有下拉框,需将下拉框中的属性Type是否为Drop List,否则改变界面大小时,会出现如下界面情况:


主界面跟子界面的关系:

//CRO2TestDlg.h中定义

CTabCtrl m_tabCtrl;

//在BEGIN_MESSAGE_MAP(CRO2TestDlg, CDialog)中添加上

ON_WM_SIZE()//调整界面大小

     

//在CRO2TestDlg.cpp的DoDataExchange函数中输入:

DDX_Control(pDX, IDC_TAB1, m_tabCtrl);

     

//CRO2TestDlg.cpp的OnInitDialog函数中添加如下:

m_tabCtrl.InsertItem(0,"出厂设置"); 
m_tabCtrl.InsertItem(1,"主参配置"); 
m_tabCtrl.InsertItem(2,"高级设置");  
m_tabCtrl.InsertItem(3,"报警设置");
m_tabCtrl.InsertItem(4,"消息设置");  
m_tabCtrl.InsertItem(5,"监控设置");  
m_tabCtrl.InsertItem(6,"行车记录仪"); 
//设置IDC_TAB1为父窗口

//m_para1 ~m_para7为7个新增界面,IDD_DIALOG1~IDD_DIALOG7为其对应的ID号
m_para1.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));
m_para2.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1));
m_para3.Create(IDD_DIALOG3,GetDlgItem(IDC_TAB1));
m_para4.Create(IDD_DIALOG4,GetDlgItem(IDC_TAB1));
m_para5.Create(IDD_DIALOG5,GetDlgItem(IDC_TAB1));
m_para7.Create(IDD_DIALOG7,GetDlgItem(IDC_TAB1));
m_para6.Create(IDD_DIALOG6,GetDlgItem(IDC_TAB1));

//调整界面大小
CRect rect;
GetWindowRect(&rect);
oSize.x = rect.right - rect.left;
oSize.y = rect.bottom - rect.top;


//获得IDC_TAB1客户区大小
CRect rc;
m_tabCtrl.GetClientRect(&rc);


//调整子对话框在父窗口中的位置
rc.top += 20;
//rc.bottom -= 8;
rc.bottom += 4;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值