zoukankan      html  css  js  c++  java
  • 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


  • 相关阅读:
    CSU 1333 Funny Car Racing
    FZU 2195 检查站点
    FZU 2193 So Hard
    ZOJ 1655 FZU 1125 Transport Goods
    zoj 2750 Idiomatic Phrases Game
    hdu 1874 畅通工程续
    hdu 2489 Minimal Ratio Tree
    hdu 3398 String
    洛谷 P2158 [SDOI2008]仪仗队 解题报告
    POJ 1958 Strange Towers of Hanoi 解题报告
  • 原文地址:https://www.cnblogs.com/wishchin/p/9200361.html
Copyright © 2011-2022 走看看