MFC窗口关闭问题,求高手进来解决
消息宏如下:BEGIN_MESSAGE_MAP(CLuckyNumberDlg,CDialog)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_...
消息宏如下:
BEGIN_MESSAGE_MAP(CLuckyNumberDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_WM_TIMER()
ON_BN_CLICKED(IDOK, OnBnClickedOk)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
界面中有两个按钮,一个确定一个取消,分别对应下面两个函数
void CLuckyNumberDlg::OnBnClickedOk()
{。。。。。。。}
void CLuckyNumberDlg::OnBnClickedCancel()
{。。。。。。。}
我的MFC程序 是基于对话框的
这两个函数体的代码全都是自己写的,并没有关闭窗口的代码,创建的时候有,只不过被我删了。现在的问题是,怎么我点窗口的关闭红X,窗口不关闭呢?我跟了一下,在OnBnClickedCancel()里面设断点,结果点X,跑到这个函数里了,怎么回事呢? 展开
BEGIN_MESSAGE_MAP(CLuckyNumberDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_WM_TIMER()
ON_BN_CLICKED(IDOK, OnBnClickedOk)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
界面中有两个按钮,一个确定一个取消,分别对应下面两个函数
void CLuckyNumberDlg::OnBnClickedOk()
{。。。。。。。}
void CLuckyNumberDlg::OnBnClickedCancel()
{。。。。。。。}
我的MFC程序 是基于对话框的
这两个函数体的代码全都是自己写的,并没有关闭窗口的代码,创建的时候有,只不过被我删了。现在的问题是,怎么我点窗口的关闭红X,窗口不关闭呢?我跟了一下,在OnBnClickedCancel()里面设断点,结果点X,跑到这个函数里了,怎么回事呢? 展开
1个回答
展开全部
1. 点“确定”、“取消”时的关闭路由为
OnOK()或OnCancel() ---> EndDialog() ---> DestroyWindow() ---> OnDestroy() ---> PostNcDestroy()
2. 点“关闭”标题栏按钮的关闭路由为
OnClose()---> OnCancel() ---> EndDialog() ---> DestroyWindow() ---> OnDestroy() ---> PostNcDestroy()
你把取消按钮的ID改了就行了,ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
关键是这个,也该成别的
OnOK()或OnCancel() ---> EndDialog() ---> DestroyWindow() ---> OnDestroy() ---> PostNcDestroy()
2. 点“关闭”标题栏按钮的关闭路由为
OnClose()---> OnCancel() ---> EndDialog() ---> DestroyWindow() ---> OnDestroy() ---> PostNcDestroy()
你把取消按钮的ID改了就行了,ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
关键是这个,也该成别的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询