CPropertySheet sheet("test sheet");
sheet.ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX, SWP_NOZORDER);Debug Assertion Failed指向这里:BOOL CWnd::ModifyStyle(DWORD dwRemove, DWORD dwAdd, UINT nFlags)
{
→ ASSERT(::IsWindow(m_hWnd));
请问如何为模式属性单添加一个最小化按钮?
sheet.ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX, SWP_NOZORDER);Debug Assertion Failed指向这里:BOOL CWnd::ModifyStyle(DWORD dwRemove, DWORD dwAdd, UINT nFlags)
{
→ ASSERT(::IsWindow(m_hWnd));
请问如何为模式属性单添加一个最小化按钮?
sheet.Create(NULL,WS_SYSMENU | WS_MINIMIZEBOX | WS_VISIBLE);
一句就搞定了。我把ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX, SWP_NOZORDER);这一句放在CMySheet::OnInitDialog()里,倒是没出错了,但属性单依然没有最小化按钮,怎么回事呢?纳闷...
{
...
CMyButton m_btnOK, m_btnCancel
}BOOL CMyPropertySheet::OnInitDialog()
{
//加上最小化按钮
ModifyStyle(0, WS_MINIMIZEBOX);
// 让确定取消按钮与众不同
m_btnOK.SubclassDlgItem(IDOK, this);
m_btnCancel.SubclassDlgItem(IDCANCEL, this);
//基类
BOOL bResult = CPropertySheet::OnInitDialog();
//页标签在下方
GetTabControl()->ModifyStyle(0, TCS_BOTTOM);
SetActivePage(0);
return bResult;
}
//此时属性页的窗口尚未创建,当然出错
//要在属性页初始化完成后才能ModifyStyle
//所以必须在派生类中
sheet.ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX, SWP_NOZORDER);
楼上的几位怎么能误人子弟呢?
本来是很简单的事!叫你们搞得神乎其神了!
唉!!!!!!!!!!!
消息:WM_NCCREATE
------------------------------
BOOL CFontSheet::OnNcCreate(LPCREATESTRUCT lpCreateStruct)
{
if (!CPropertySheet::OnNcCreate(lpCreateStruct))
return FALSE;
// TODO: Add your specialized creation code here
//显式地定义此风格
//CPropertySheet默认是关
ModifyStyleEx(0, WS_EX_CONTEXTHELP);
ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX, SWP_NOZORDER);
return TRUE;
}
{
if (!CPropertySheet::OnNcCreate(lpCreateStruct))
return FALSE;
// TODO: Add your specialized creation code here
ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX, SWP_NOZORDER);
return TRUE;
}
psusong(人类失去指针,世界将会怎样?) 真是界面超级高手!!!