我在MFC应用程序中使用CPropertySheet类进行设计,通常在CPropertySheet中会有4个默认按钮。我想隐藏/删除HELP按钮..我尝试了以下...但它不工作/不响应..我在CPropertyPage类中写了这个 还有其他任何方式...
m_psh.dwFlags& = ~PSH_HASHELP;
答案 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);