将“最小化”框添加到MFC属性表系统菜单



如何将最小化最大化框添加到CMFCPropertySheet的系统菜单中。我试过通过修改样式

CMFCPropertySheet::ModifyStyle(NULL, WS_SYSMENU);

但什么也没发生。

假设您有一个从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中执行此操作,但即使会显示"最小化/最大化"框,它们也不会执行任何操作。

在"OnInitDialog:";为我工作。

LONG dwStyle = ::GetWindowLong(m_hWnd, GWL_STYLE);
  ::SetWindowLong(m_hWnd, GWL_STYLE, dwStyle | WS_WS_MINIMIZEBOX | WS_MAXIMIZEBOX);

相关内容

最新更新