6

我在 MFC 应用程序中为我的设计使用 CPropertySheet 类,通常在 CPropertySheet 中会有 4 个默认按钮..我想隐藏/删除帮助按钮..我尝试了以下..但它不起作用/没有响应..I把这个写在我的 CPropertyPage 类中有没有其他方法......

m_psh.dwFlags &= ~PSH_HASHELP;

4

5 回答 5

13

属性页也有一个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);
// ...
于 2013-11-26T15:03:42.290 回答
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

于 2014-09-03T12:45:04.973 回答
3
// Destroy the Help button
CButton *btnHelp;

btnHelp = reinterpret_cast<CButton *>(GetDlgItem(IDHELP));
btnHelp->DestroyWindow();
于 2009-12-02T11:42:13.510 回答
2

转到项目的主 cpp 文件(定义 theApp 的位置)。
删除这一行:ON_COMMAND(ID_HELP, CWinApp::OnHelp)

阿迪亚·帕兰基

于 2011-06-23T14:20:04.860 回答
0

这应该可以解决:

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

CWnd *hwnd = GetDlgItem(IDHELP); hwnd->ShowWindow(SW_HIDE);

于 2014-06-10T04:27:44.237 回答