属性页中有确定,取消和应用三个按钮,请问
1.应用按钮能不能删除?
2.确定和取消的消息响应应该怎么弄?

解决方案 »

  1.   

    1.能删除;
    2.MFC在默认情况下:单击“确定”或“取消”按钮时,会导致程序退出。因为“确定”或“取消”的消息响应函数默认调用基类的CDialog::OnOk()和CDialog::OnCancel(),这两个都是虚函数。如果你要自己弄或改变其消息响应的行为,也很简单,在你自己的对话框类中重载这两个虚函数,改写之,并把CDialog::OnOk()和CDialog::OnCancel()删除(不删除仍然会退出程序)。
      

  2.   


    CPropertySheet DlgSheetDlg(_T("Test"));
    CDlgOne* pDlgOne = new CDlgOne;
    CDlgTwo* pDlgTwo = new CDlgTwo;
    DlgSheetDlg.m_psh.dwFlags |=PSH_NOAPPLYNOW;//去掉主页上的应用按钮
      

  3.   


     不是吧,我记得我 propertysheet上根本没有你说的3个按钮啊
      

  4.   

    CPropertySheet DlgSheetDlg(_T("Test"));

    CDlgOne* pDlgOne = new CDlgOne;
    CDlgTwo* pDlgTwo = new CDlgTwo; DlgSheetDlg.AddPage(pDlgOne);  //这个是一个页面
    DlgSheetDlg.AddPage(pDlgTwo);  //这个是第二个页面
    //去掉主页上的应用按钮
    DlgSheetDlg2.m_psh.dwFlags |=PSH_NOAPPLYNOW;
      

  5.   

    那添加确定和取消的响应函数呢?   在PropertySheet类里面没有找到CDialog::OnOk()和CDialog::OnCancel()这两个
      

  6.   

    获得idokidcancel的句柄,然后showwindow(SW_HIDE);多谢 arpnet99提供的思路