VC窗体上的关闭按钮失效

 

关键字: VC窗体上的关闭按钮失效,VC窗体上的关闭按钮重载,VC窗体上的关闭按钮变灰

先使关闭按钮变灰失效
方法一:
在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();
}


转载请声明出处: http://hi.baidu.com/jackyxu/blog/item/d5a9b1b7f4f1cbf731add1e6.html

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值