如何禁止对话框关闭按钮和浮动工具条上的系统菜单

    技术2022-05-11  136

     

    如何禁止对话框关闭按钮和浮动工具条上的系统菜单

    作者:徐景周

     

    1、   禁止对话框中的关闭按钮有二种方法。

    l         第一种方法,用ModiftMenu()涵数来实现:     CMenu* pMenu = this->GetSystemMenu(FALSE);         pMenu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED ); l         第二种方法,用EnableMenuItem()涵数来实现:    CMenu* pMenu = this->GetSystemMenu(FALSE);        pMenu->EnableMenuItem( SC_CLOSE, MF_BYCOMMAND|MF_GRAYED);

     

    2、   禁止浮动工具条上的系统菜单。

    l         新建一个CToolBar的派生类CxxToolBar,在新类中的左键双击(CxxToolBar::OnLButtonDblClk(...))和左键单击(CxxToolBar:: OnLButtonDown(...))涵数中分别加入下面代码既可:

            if (IsFloating()) //工具条正在浮动状态中          {                  CWnd* pMiniFrame;                  CWnd* pDockBar;                    pDockBar = GetParent();                  pMiniFrame = pDockBar->GetParent();                    //去除其上系统菜单                  pMiniFrame->ModifyStyle(WS_SYSMENU, NULL);                    //重绘工具条                  pMiniFrame->ShowWindow(SW_HIDE);                  pMiniFrame->ShowWindow(SW_SHOW);          }   3、  禁止窗口最大化按钮 l         在PreCreateWindow()涵数中去掉WS_MAXIMIZEBOX风格显示既可。 BOOL CxxFrameWnd::PreCreateWindow(CREATESTRUCT& cs) {     cs.style &= ~WS_MAXIMIZEBOX;     return CFrameWnd::PreCreateWindow(cs); }

     

    联系方式:

    作者EMAIL:jingzhou_xu@163.com

    未来工作室(Future Studio)

     


    最新回复(0)