| 网站首页 | 文章中心 | 下载中心 | 编程世界论坛 | 图片中心 | 留言板 | 发布源码 | 
您现在的位置: 编程世界 >> 文章中心 >> VC文章 >> VC基础 >> 文章正文 用户登录 新用户注册
VC另关闭按钮(X按钮)变灰失效的几种办法       ★★★ 【字体:
VC另关闭按钮(X按钮)变灰失效的几种办法
作者:佚名    文章来源:本站原创    点击数:    更新时间:2008-1-23    

可以使使关闭按钮变灰失效
方法一:
在int CXXXFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)里添加代码
CMenu*     pSysMenu=GetSystemMenu(false);   //Add   by   me  
pSysMenu->RemoveMenu(SC_CLOSE,MF_BYCOMMAND);   //   Add   by   me ,这是MDI模式,如果是SDI模式就把MF_BYCOMMAND替换成MF_DISABLED即可

方法二:
GetSystemMenu(FALSE)->EnableMenuItem(SC_CLOSE,MF_DISABLED);   //Disable close button:
GetSystemMenu(FALSE)->EnableMenuItem(SC_CLOSE,MF_ENABLED);   //Enable close button:
在return 0;前完成代码

注意:如果不对WM_CLOSE消息进行重载,那么程序仍然可以被ALT+F4快捷键关闭

使关闭按钮产生其他的消息处理方式
在类视图里,找到CXXXFrame类,右键选择Add Windwos Message Handler 在弹出窗口里选择WM_CLOSE生成消息处理函数:(也可以手工添加)
XXX.h
//{{AFX_MSG(CMainFrame)
afx_msg void OnClose();
//}}AFX_MSG

XXX.cpp
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_CLOSE()
END_MESSAGE_MAP()

void CMainFrame::OnClose()
{
// TODO: Add your message handler code here and/or call default
//AfxMessageBox("aa");
//CFrameWnd::OnClose();
}
以上方法总的来说就是拦截窗体的关闭消息,怎么样你学会了吗?

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    VC6做简易自动升级程序
    防止VC的edit控件密码被非法
    VC播放资源文件中的声音
    一个自写的显示GIF和JPG的类
    VC实现删除文件到回收站
    VC多线程之线程间的通信
    vc全局钩子实现程序监控
    创建只能建一个对象的类
    读写注册表API,适用于VC也适
    VC6冲破friend和cstring类的
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)