您的位置:首页 > 其它

VC窗体上的关闭按钮失效

2012-01-18 13:23 537 查看
关键字: 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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: