Добавление поля сворачивания в системное меню MFC Property Sheet - PullRequest
5 голосов
/ 18 января 2012

Как я могу добавить Свернуть и Развернуть в системное меню CMFCPropertySheet.Я попытался изменить стиль с помощью

CMFCPropertySheet::ModifyStyle(NULL, WS_SYSMENU);

, но ничего не произошло.

1 Ответ

6 голосов
/ 18 января 2012

Если у вас есть класс, производный от CPropertySheet, назовем его MySheet:

// Capture the WM_NCREATE message
BEGIN_MESSAGE_MAP(CMySheet, CPropertySheet)
  ON_WM_NCCREATE()
END_MESSAGE_MAP()

BOOL CMySheet::OnNcCreate(LPCREATESTRUCT lpCreateStruct)
{
  if (!CPropertySheet::OnNcCreate(lpCreateStruct))
    return FALSE;

  // Modify the window style
  LONG dwStyle = ::GetWindowLong(m_hWnd, GWL_STYLE);
  ::SetWindowLong(m_hWnd, GWL_STYLE, dwStyle | WS_WS_MINIMIZEBOX | WS_MAXIMIZEBOX);

  return TRUE;
}

Обратите внимание, что вы можете сделать это в OnInitDialog, но даже если будут отображены поля «Свернуть / Развернуть», они ничего не сделают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...