窗口自动关闭
来源:互联网 发布:java写爬虫很复杂吗 编辑:程序博客网 时间:2024/05/23 23:54
在一个对话框上单击按钮,然后弹出一个对话框,在这个对话框上做一些工作,完成之后弹出来的对话框自动关毕。按钮的响应函数:void CDlg1::OnBnClickedButton1(){ int res = 0; for(int i = 0; i < 1000; i++) { for(int j = 0; j < 1000; j++) { double d1 = cos(1.28) + sin(3.14) + tan(2.56); res = res + i; } } CString str; str.Format(_T("%d"), res); GetDlgItem(IDC_EDIT1)->SetWindowText(str); //MessageBox(_T("计算完成"), _T("tip"), MB_OKCANCEL); //HWND hWnd = ::FindWindow(NULL, _T("CDlg1")); //if(hWnd != NULL) //{ // 使用::FindWindow会将弹出来的对话框的标题写死,如果改变标题就找不到窗口,返回的hWnd为NULL //::PostMessage(hWnd, WM_CREATETIMER, 0, 0); // 可以采用下面的这种方法,发送消息 ::PostMessage(m_hWnd, WM_CREATETIMER, 0, 0); //}}CDlg1为单击按钮,弹出来的对话框关联的类,::PostMessage()可以直接将WM_CLOSE发送到CDlg1对话框的窗口上,但是结算的结果也得不到及时的显示就关闭对话框了所以在窗口上响应定时器消息和自定义的消息WM_CREATETIMER用来启动一个定时器,下面是自定义消息有关内容:宏定义必须确保不与其他的ID,或者别的宏相同,这个宏我定义在Resource.h里面#define WM_CREATETIMER WM_USER + 8// Dlg1.h文件afx_msg LRESULT OnCreateTimer(WPARAM, LPARAM);// Dlg1.cpp文件LRESULT CDlg1::OnCreateTimer(WPARAM wParam, LPARAM lParam){ SetTimer(0, 1000, NULL); return 0;}// 响应WM_TIMER,发送WM_CLOSEvoid CDlg1::OnTimer(UINT_PTR nIDEvent){ // TODO: Add your message handler code here and/or call default //HWND hWnd = ::FindWindow(NULL, _T("CDlg1")); //if(hWnd != NULL) //{ //PostMessage(WM_CLOSE); //} //此时可以不用FindWindow(),直接发送WM_CLOSE,到本窗口 PostMessage(WM_CLOSE); CDialogEx::OnTimer(nIDEvent);}至此弹出来的窗口在工作完成之后会自动关闭的。
阅读全文
0 0
- 自动关闭窗口
- 自动关闭窗口
- PHP自动关闭窗口
- JS自动关闭窗口
- 弹出窗口自动关闭
- 自动关闭 Alert 窗口
- JavaScript自动关闭窗口
- 窗口自动关闭
- JS自动关闭父窗口
- 如何自动关闭thickbox窗口
- 定时自动关闭弹出窗口
- 自动关闭窗口JS代码!
- 自动关闭窗口的JavaScript
- 倒计时自动关闭弹出窗口
- IE/Firefox 自动关闭窗口
- 倒计时自动关闭弹出窗口
- 自动关闭Assert窗口,Debug窗口
- 自动弹出窗口,并定时关闭
- 自定义View
- Android-studio 显示行号、设置字体大小、更改背景
- java基础--5.集合-2.集合
- PulltorefreshViewDemo
- Maven搭建SpringMVC+Hibernate
- 窗口自动关闭
- webpack2.0
- SSH——hibernate 利用注解实现实体关联映射详解
- IOS端K线系列之分时图-十字叉效果制作
- 2017逐浪字库最新出品——五大新作
- Tarjan 算法超级详解
- ArrayList的用法
- KMP算法
- 什么是构造和析构方法?功能是?