各位大侠:我想在对话框上去掉右上角的关闭(不显示X号)。现在我只做到不显示最大化和最小化。但不知道怎么去掉关闭(X号).
请各位高手指教!
   谢!

解决方案 »

  1.   

    去掉对话框的System Menu属性。
      

  2.   

    在对话框属性的“styles”里面取消掉“System menu”的勾就可以了
      

  3.   

    对话框的属性栏中的style只选择   titlebar
      

  4.   

    LONG SetWindowLong(          HWND hWnd,
        int nIndex,
        LONG dwNewLong
    );
      

  5.   

    HMENU hMenu = GetSystemMenu(hWnd, false);
        //可选择删除或禁用,下面的例子是禁用
        //DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND);
        MENUITEMINFO mi;
        memset(&mi, 0, sizeof(MENUITEMINFO));
        mi.cbSize = sizeof(MENUITEMINFO);
        mi.fMask = MIIM_STATE;
        mi.fState = MFS_GRAYED;
        SetMenuItemInfo(hMenu, SC_CLOSE, MF_BYCOMMAND, &mi);
      

  6.   

    CMenu *menu = GetSystemMenu(FALSE);
    RemoveMenu(menu->GetSafeHmenu(), SC_MOVE, MF_BYCOMMAND);
      

  7.   

    这样效果最好了:) CMenu *menu = GetSystemMenu(FALSE);
    RemoveMenu(menu->GetSafeHmenu(), SC_CLOSE, MF_BYCOMMAND);
    ::SendMessage(this->GetSafeHwnd(), WM_NCPAINT, 1,0);
      

  8.   

    谢谢:hbxtlhx(下着春雨的天);
    我马上结贴
      

  9.   

    在对话框属性的“styles”里面取消掉“System menu”的勾就可以了
    正解