⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

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

📁 MFC简明教程
💻 TXT
字号:
如何禁止对话框关闭按钮和浮动工具条上的系统菜单
(Future Studio 徐景周发表于2002-1-16 20:23:23)

1、禁止对话框中的关闭按钮有二种方法。
第一种方法,用ModiftMenu()涵数来实现:

CMenu* pMenu = this->GetSystemMenu(FALSE);
pMenu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );

第二种方法,用EnableMenuItem()涵数来实现:

CMenu* pMenu = this->GetSystemMenu(FALSE);
pMenu->EnableMenuItem( SC_CLOSE, MF_BYCOMMAND|MF_GRAYED);

2、禁止浮动工具条上的系统菜单。
新建一个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、禁止窗口最大化按钮
在PreCreateWindow()涵数中去掉WS_MAXIMIZEBOX风格显示既可。
BOOL CxxFrameWnd::PreCreateWindow(CREATESTRUCT& cs)
{
    cs.style &= ~WS_MAXIMIZEBOX;
    return CFrameWnd::PreCreateWindow(cs);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -