分页技术

最近学习一个基于对话框的软件,想要达到对话框分页技术,学习了几天,心得如下。子窗口一定要在Styles里设置成Child;中文翻译的太差了,直接应该是子窗口,所以尽量不要用中文版的。

这里写图片描述

每一个子页分别建立一个派生类。
然后在所有父窗口的函数OnInitDialog()中,分别建立几个子窗口。

CPage1 m_p1;
CPage2 m_p2;
CPage3 m_p3;
m_p1.Create(IDD_PAGE1);//创建非模式对话框,默认当前窗口问主窗口
m_p2.Create(IDD_PAGE2,this);//创建非模式对话框,设置m_p1子窗口的的父窗口为当前创建m_p2的窗口。不然默认的为主窗口的。
m_p2.Create(IDD_PAGE2,this);
CRect rect,rt;
GetClient(rect);
GetDlgItem(IDOK)->GetWindowRect(rt);//获得屏幕坐标系
this->ScreenToClient(rect);
rect.bottom=rt.top;

m_p1.MoveWindow(rect);
m_p2.MoveWindow(rect); 
m_p3.MoveWindow(rect);

m_p1.ShowWindow(SW_SHOW);//已经创建了,显示可以再其他处显示
m_p2.ShowWindow(SW_SHOW);//已经创建了,显示可以再其他处显示
m_p3.ShowWindow(SW_SHOW);//已经创建了,显示可以再其他处显示

EndDialog(IDC_FINISH);//可以销毁对话框。不再用析构函数也行。

下面是显示效果
这里写图片描述
这是显示第一个子页,下一步<&N>,显示下一子页。以此类推

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值