将Minimize框添加到MFC属性表系统菜单

AMC*_*ded 5 mfc visual-c++

如何在系统菜单中添加最小化最大化CMFCPropertySheet.我试过修改样式

CMFCPropertySheet::ModifyStyle(NULL, WS_SYSMENU);
Run Code Online (Sandbox Code Playgroud)

但什么都没发生.

Edd*_*Paz 6

假设你有一个派生自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;
}
Run Code Online (Sandbox Code Playgroud)

请注意,您可以在OnInitDialog中执行此操作,但即使显示最小化/最大化框,它们也不会执行任何操作.