散分了
怎么把程序的系统菜单中的移动,恢复,最大化等菜单项禁止!!

解决方案 »

  1.   

    GetSystemMenu能得到你的窗口的系统菜单句柄,然后将不需要的菜单删除。
      

  2.   

    ~(WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_SIZEBOX|WS_THICKFRAME);
      

  3.   

    CWnd::RemoveStyle((WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_SIZEBOX|WS_THICKFRAME),0,0);
      

  4.   

    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
     pSysMenu->EnableMenuItem( ... );
    }
      

  5.   

    同上
    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
     pSysMenu->EnableMenuItem( ... );
    }
    或重载
    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
              cs&=~WS_MINIMIZEBOX;
             cs&=~WS_MAXIMIZEBOX;
          cs&~WS_SIZEBOX;
          cs&=~WS_THICKFRAME;
        if( !CFrameWnd::PreCreateWindow(cs) )
    return FALSE;
    return TRUE;
    }
      

  6.   

    通常作法:
    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
     pSysMenu->EnableMenuItem( ... );
    }
      

  7.   

    to sans(sans):
    你说的在什么实践中调用。
    我在onshowwindow中不管用(我现在用的就是用的那几个函数,关键是在什么地方调用才能行)