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));
请问如何为模式属性单添加一个最小化按钮?

解决方案 »

  1.   

    属性页有点困难:http://expert.csdn.net/Expert/topicview.asp?id=1334674http://www.codeproject.com/property/
      

  2.   

    第一个链接是叫我自已画标题,i think it is god damn stupid.第二个链接,只找到一篇Free size and extended styles in CPropertySheets.htm文章,没什么效果。为什么模式CPropertySheet加个最小化按钮会这么难呢?我为非模式CPropertySheet加最小化按钮就简单多了,
    sheet.Create(NULL,WS_SYSMENU | WS_MINIMIZEBOX | WS_VISIBLE);
    一句就搞定了。我把ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX, SWP_NOZORDER);这一句放在CMySheet::OnInitDialog()里,倒是没出错了,但属性单依然没有最小化按钮,怎么回事呢?纳闷...
      

  3.   

    必须写派生类,下面是我做的一系列试验class CMyPropertySheet :: public CPropertySheet
    {
    ...
    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;
    }
      

  4.   

    CPropertySheet sheet("test sheet");
    //此时属性页的窗口尚未创建,当然出错
    //要在属性页初始化完成后才能ModifyStyle
    //所以必须在派生类中
    sheet.ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX, SWP_NOZORDER);
      

  5.   

    晕倒!
    楼上的几位怎么能误人子弟呢?
    本来是很简单的事!叫你们搞得神乎其神了!
    唉!!!!!!!!!!!
    消息: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;
    }
      

  6.   

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

    // TODO: Add your specialized creation code here

    ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX, SWP_NOZORDER);
    return TRUE;
    }
      

  7.   

    搞定了!
    psusong(人类失去指针,世界将会怎样?) 真是界面超级高手!!!
      

  8.   

    请zwvista(球迷程序员)到此领分:http://expert.csdn.net/Expert/topic/1457/1457983.xml?temp=.1674158