MFC之添加属性页

  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);
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值