欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

MFC多标签页对话框

发布时间:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 MFC多标签页对话框 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

原文链接(有修改):http://blog.sina.com.cn/s/blog_6a1cdb3f0101llcw.html

1.新建一个MFC工程
取名PageSheet,选择Dialog based,然后Finish。

2.在对话框资源中插入两个对话框IDD_DIALOG1、IDD_DIALOG2,作为两个子页。

3.为这两个对话框增加两个类,分别为CPage1和CPage2,其基类选择CPropertyPage。

4.增加一个属性页类CMySheet, 其基类选择CPropertySheet。

5.在类CMySheet中增加两个成员变量m_page1,类型为CPage1,m_page2,类型为CPage2。
如:

public:CPage1 m_page1;CPage2 m_page2;

6.在类CMySheet的构造函数中添加如下两句,增加两个页。
如:

CMySheet::CMySheet() {AddPage(&m_page1);AddPage(&m_page2); }ps:CMySheet类原先的两个带参构造函数,可以删除,改成以上所示无参构造函数。

7.在类CPageSheetApp的初始化函数InitInstance()中,将原来声明的对象去掉。改为属性页类对象声明。
如:

//CPageSheetDlg dlg;CMySheet dlg;

8.添加头文件。
①“PageSheet.cpp”文件中添加头文件“MySheet.h”
②“MySheet.h”中添加头文件“CPage1.h”和“CPage2.h”

 

9.为属性页类添加初始化函数。
如:

BOOL CMySheet::OnInitDialog() {//属性页对话框初始化BOOL bResult =CPropertySheet::OnInitDialog();//设置窗口标题SetWindowText("Page Sheet");//去除多余的控件(确定、取消、应用、帮助)CWnd *pWnd = GetDlgItem(IDOK);pWnd->ShowWindow(SW_HIDE);pWnd = GetDlgItem(ID_APPLY_NOW);pWnd->ShowWindow(SW_HIDE);pWnd = GetDlgItem(IDHELP);pWnd->ShowWindow(SW_HIDE);pWnd = GetDlgItem(IDCANCEL);pWnd->ShowWindow(SW_HIDE);RECT rc; //调整属性页对话框的大小 GetWindowRect (&rc); MoveWindow(rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top-30); //调整窗口 return bResult; }

10.可以将多余的对话框、文件删除。
对话框:程序初始对话框IDD_PAGESHEET_DIALOG
文件:CPageSheetDlg.h ,CPageSheetDlg.cpp


总结

以上是生活随笔为你收集整理的MFC多标签页对话框的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。