分页技术

来源:互联网 发布:js 点击 获取焦点事件 编辑:程序博客网 时间:2024/06/01 20:06

最近学习一个基于对话框的软件,想要达到对话框分页技术,学习了几天,心得如下。子窗口一定要在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
原创粉丝点击