Как удалить кнопку справки по умолчанию в CPropertySheet в MFC? - PullRequest
6 голосов
/ 02 декабря 2009

Я использую класс CPropertySheet для своего дизайна в приложении MFC, обычно в CPropertySheet было бы 4 кнопки по умолчанию. Я хочу скрыть / удалить кнопку HELP. ..У меня было написано в моем классе CPropertyPage есть ли другой способ ...

m_psh.dwFlags & = ~ PSH_HASHELP;

Ответы [ 5 ]

12 голосов
/ 26 ноября 2013

Страницы свойств также имеют флаг 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);
// ...
4 голосов
/ 03 сентября 2014

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

3 голосов
/ 02 декабря 2009
// Destroy the Help button
CButton *btnHelp;

btnHelp = reinterpret_cast<CButton *>(GetDlgItem(IDHELP));
btnHelp->DestroyWindow();
2 голосов
/ 23 июня 2011

Перейдите в основной cpp-файл вашего проекта (где определено theApp).
Удалить эту строку: ON_COMMAND(ID_HELP, CWinApp::OnHelp)

Адитья Паланки

0 голосов
/ 10 июня 2014

Это должно сработать:

Переопределите метод OnNotify класса, производного от PropertySheet, запишите в него следующий код

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

...