在win7 Home版中,调用如下函数禁止最大化,但是,还是能够点击最大化按钮使窗口最大化。在win7 旗舰版中没有这个问题,有没有人遇到相似的问题?    CMenu *pTopMenu=GetSystemMenu(FALSE);
    pTopMenu->RemoveMenu(SC_MAXIMIZE,MF_BYCOMMAND);//最大化窗口不可用

解决方案 »

  1.   


    Style =::GetWindowLong(m_hWnd,GWL_STYLE);
          Style &= ~(WS_MAXIMIZEBOX);
           ::SetWindowLong(m_hWnd,GWL_STYLE,Style);
           GetWindowRect(&Rect);
           ::SetWindowPos(m_hWnd,HWND_TOP,Rect.left,Rect.top,Rect.Width(),Rect.Height(),SWP_DRAWFRAME);
    另外EnableMenuItem记得也可以吧
      

  2.   

    to:  tiger9991
    我试了,可以去掉最大化按钮。
    但是我可能问问题没表述清楚。
    我其实是想把窗口最大化后,然后不让用户把窗口还原和移动。当窗口最大化后,去掉最大化按钮后,双击标题栏还是能还原。
    怎么办?
      

  3.   

    没找到出错的原因。可以拦截还原消息和双击标题栏的消息,这样处理就没问题了。谢谢tiger9991!