将最小化框添加到MFC属性表系统菜单
问题描述:
我怎样才能添加最小化和最大化框到系统菜单CMFCPropertySheet
。 我试图通过将最小化框添加到MFC属性表系统菜单
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中做到这一点,但即使最小化/最大化框将显示,他们不会做任何事情。
非常感谢,它非常有用。 – AMCoded 2012-01-22 08:18:12