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

原创 2002年01月18日 09:37:00
 

如何禁止对话框关闭按钮和浮动工具条上的系统菜单<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

作者:徐景周

 

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.net

未来工作室(Future Studio)

 

使用对话框实现类似MFC浮动工具条

//CMainFrame.h增加下面3行 CDlgRightToolBar* m_pRightToolDlg;// 增加的浮动工具栏 void MoveRightToolDlgMi...
  • x82488059
  • x82488059
  • 2015年01月26日 17:04
  • 898

bootstrap-图片、关闭、浮动

图片、关闭、浮动
  • deepquiet
  • deepquiet
  • 2017年03月05日 15:19
  • 1221

两边浮动图片广告代码,带关闭按钮

两边浮动图片广告代码,带关闭按钮
  • shuanghusun
  • shuanghusun
  • 2010年09月27日 11:56
  • 3705

【Qt开发】QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent

建了一个对话框,我不想把边框去掉,只想去掉关闭按钮, setWindowFlags(windowFlags()&~Qt::WindowCloseButtonHint&~Qt::WindowConte...
  • LG1259156776
  • LG1259156776
  • 2016年09月22日 19:59
  • 2521

VC++无效化控制台窗口的关闭按钮(菜单)

测试环境:VC++ 6.0 作者:hi.baidu.com/console_app,文章部分改动 批处理执行到一半就被强行关闭,实在是令编写者不爽的事情。本教程就是让大家学会,如何在控制台...
  • sunnysab
  • sunnysab
  • 2013年07月18日 14:26
  • 1829

为自定义对话框添加菜单

1. 在资源视图的Menu项下添加一个菜单,并编辑好菜单选项,保存,这时会自动生成一个IDR_MENU* 的资源ID。你可以修改它成你想要的名称。 2. 选中对话框,打开属性,找到MENU这一项,选...
  • chence19871
  • chence19871
  • 2012年05月08日 15:19
  • 373

给对话框添加菜单 工具栏 状态栏简易方法

先建立一个基于Dialog 的程序,我给他起了个名字叫:DlgMenuToolbar。一、如何往基于Dialog的程序添加菜单[1.1] 先添加菜单(IDR_MENU1)资源,并加上需要的菜单项。[1...
  • qj840828
  • qj840828
  • 2008年10月17日 16:23
  • 5722

如何产生一个只有最大化最小化但是没有关闭按扭的窗体?

  可以什么按钮都没有,也可以使关闭按钮变灰不能用,但是不能只没有关闭按钮,除非自己画标题栏。         什么按钮都没有的方法:     BorderIcons属性中biSystemM...
  • Jahan0211
  • Jahan0211
  • 2006年10月14日 11:02
  • 4392

C#中用Form实现浮动工具栏(转)_

今天才发觉微软XX的在.net 2003里边没给提供浮动工具栏控件,没办法google了一下只找到几个第三方的控件,要付费不过功能倒是挺强悍。考虑一下偶只是需要一个简单的浮动条,不至于用到那些太多的牛...
  • mydriverc
  • mydriverc
  • 2007年07月11日 16:59
  • 2115

Android 浮动菜单效果控件

Android 浮动菜单效果
  • ITRenj
  • ITRenj
  • 2017年06月14日 14:33
  • 632
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何禁止对话框关闭按钮和浮动工具条上的系统菜单
举报原因:
原因补充:

(最多只允许输入30个字)