前面一篇文章写过使用Tab Control控件来实现属性页的切换的目的,那个程序如果直接在页面初始化的时候静态的设置页可视或者不可视,那么运行程序后属性页并不能在你点击的时候显示出来,所以还需要添加鼠标点击的消息响应函数,这样就复杂了,所以下面就介绍一下使用CPropertySheet类来实现的过程。
首先Insert->Resource->Dialog
并设置Dialog的属性
为Dialog生成类,此时注意基类不选择CDialog而是选择CPropertySheet,CPropertySheet是MFC已经封装好的类,所以可以直接使用不需要自己去新建
在主窗口上添加CPropertySheet类型的变量
在主窗口中添加已经为属性Dialog生成的类类型的变量,即将类实例化为对象
在主窗体的OnInitDialog中添加//画出参数设置界面
propsheet.AddPage(&runparmdlg);
propsheet.AddPage(&ctralparmdlg);
propsheet.Create(this, WS_CHILD | WS_VISIBLE, WS_EX_CONTROLPARENT);
propsheet.SetWindowPos(NULL, 48, 40, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
return TRUE; // return TRUE unless you set the focus to a control
就可以实现属性页。