VC窗体上的关闭按钮失效

来源:互联网 发布:分期购物商城网站源码 编辑:程序博客网 时间:2024/05/22 04:37
 

关键字: 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

 
原创粉丝点击