MFC之添加属性页

来源:互联网 发布:怎样注册淘宝账户 编辑:程序博客网 时间:2024/06/06 08:57
  1. 属性页一定是由几个页面构成的,首先要创建几个基类是CPropertyPage的对话框。例如,创建两个类,CTestPage1 、CTestPage2

  2. 一定要有一个类去管理几个属性页面,然后要创建一个基类是CPropertySheet的类。例如,CTestSheet

  3. 各部件准备好了,然后就要组合起来。在CTestSheet.cpp文件中找到下面这个构造函数:
      CTestSheet::CTestSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
  a、先在CTestSheet.h中声明两个属性页面对象
  CTestPage1 m_testpage1;  CTestPage2 m_testpage2;
  b、在上面的构造函数中,添加属性页面,如下
  AddPage(&m_testpage1);   AddPage(&m_testpage2);
  c、各部件都组装好了,只要定义对象,然后就可以调用了。
  CTestSheet sheet(_T("属性页"));  sheet.DoModal();

去掉属性页底下的四个按钮:确定、取消、应用、帮助

应用按钮:在上面的构造函数中添加语句:

m_psh.dwFlags |= PSH_NOAPPLYNOW;

帮助按钮:方法一、在上面的构造函数

m_psh.dwFlags &= ~(PSH_HASHELP);m_testpage1.m_psp.dwFlags&= ~(PSP_HASHELP);m_testpage2.m_psp.dwFlags&= ~(PSP_HASHELP);

确定按钮和取消按钮:在OnInitDialog函数中添加语句:

pWnd =GetDlgItem(IDOK);if(pWnd && pWnd->GetSafeHwnd())  {pWnd->ShowWindow(false);}pWnd =GetDlgItem(IDCANCEL);if(pWnd && pWnd->GetSafeHwnd())

同样,还可以采用下面的方式,去掉四个按钮,同时还消去界面下方的空白区,在OnInitDialog函数中添加语句:

    GetDlgItem(IDOK)->ShowWindow(SW_HIDE);    GetDlgItem(IDHELP)->ShowWindow(SW_HIDE);    GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE);    GetDlgItem(ID_APPLY_NOW)->ShowWindow(SW_HIDE);    //获取窗体尺寸    CRect btnRect;    GetDlgItem(IDCANCEL)->GetWindowRect(&btnRect);    CRect wdnRect;    GetWindowRect(&wdnRect);    //调整窗体大小    ::SetWindowPos(this->m_hWnd, HWND_TOP,0,0,wdnRect.Width(),wdnRect.Height()-btnRect.Height(),NULL);
0 0