您的位置:C++老鼠窝编程 【提问与解答】 正文
站内文章搜索
热门内容
推荐内容
最新内容
广告信息

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


如何禁止对话框关闭按钮和浮动工具条上的系统菜单
(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);
}




 
点这里复制本页地址发送给您QQ/MSN上的好友
相关文章

如何等比例缩放图像
用MFC和ClassWizard子类化Window的通用对话
作为对象的函数指针
在Direct3D中创建暗灯特效
避免在ATL中引发的不明确接口问题
调试ATL组件中的引用计数问题
用注册表键存储用户程序的信息
用ATL的注册器来定制注册表入口
LNK4089的警告是什么意思,如何避免它?
如何拷贝一个工程的对话框资源到另一个工程
产生真正的随机数
如何在vc中制作256色的16x16和32x32大小的彩
如何得到视图指针?
如何让自定义的基于CStatic的Static控件响应
如何用CZip/CUnzip类压缩/解压缩文件
初始化应用程序的大小
CListBox编程中LBS_OWNERDRAWFIXED式样设置
如何在MFC中判断EOF
调试动态链接库的小技巧
如何得到拨号上网时的网络速度(之一)

相关评论


本文章所属分类:首页 【提问与解答】