如何删除MFC中CPropertySheet中的默认帮助按钮?

时间:2009-12-02 11:39:43

标签: mfc button cpropertysheet

我在MFC应用程序中使用CPropertySheet类进行设计,通常在CPropertySheet中会有4个默认按钮。我想隐藏/删除HELP按钮..我尝试了以下...但它不工作/不响应..我在CPropertyPage类中写了这个 还有其他任何方式...

  

m_psh.dwFlags& = ~PSH_HASHELP;

5 个答案:

答案 0 :(得分:12)

属性页面还有一个需要清除的HASHELP标志。属性表的构造函数中的以下代码应该起作用:

// After the last AddPage() call:
m_psh.dwFlags &= ~PSH_HASHELP;
for(int i=0; i<GetPageCount(); ++i)
    GetPage(i)->m_psp.dwFlags &= ~PSP_HASHELP;

或者,也可以在调用m_psp之前修改每个页面的AddPage()标记:

m_psh.dwFlags &= ~PSH_HASHELP;
page1.m_psp.dwFlags &= ~PSP_HASHELP;
AddPage(&page1);
// ...

答案 1 :(得分:4)

http://msdn.microsoft.com/de-de/library/37k4h0bh(v=vs.80).aspx

您必须从工作表和所有页面中删除该标志...

mySheet.m_psh.dwFlags &= ~PSH_HASHELP;
page1.m_psp.dwFlags &= ~PSP_HASHELP;
page2.m_psp.dwFlags &= ~PSP_HASHELP;

...

注意区别:m_ps h 与m_ps p 和PS H _HASHELP与PS P _HASHELP

答案 2 :(得分:3)

// Destroy the Help button
CButton *btnHelp;

btnHelp = reinterpret_cast<CButton *>(GetDlgItem(IDHELP));
btnHelp->DestroyWindow();

答案 3 :(得分:2)

转到项目的主cpp文件(定义了App的位置) 删除此行:ON_COMMAND(ID_HELP, CWinApp::OnHelp)

Aditya Palanki

答案 4 :(得分:0)

这应该可以解决:

重写从PropertySheet派生的类的OnNotify方法,将以下代码写入其中

CWnd * hwnd = GetDlgItem(IDHELP); hwnd-&GT;的ShowWindow(SW_HIDE);