怎么用多线程传送一个窗口指针?
时间:2011-12-07
来源:互联网
我想用多线程发送消息实时刷新窗口中的静态文本框。
但是,创建线程函数中,有一个参数是需要发送窗口指针,我不知道怎么才能获得窗口指针。
一共三个问题,用【】标注,谢谢啦~
C/C++ code
但是,创建线程函数中,有一个参数是需要发送窗口指针,我不知道怎么才能获得窗口指针。
一共三个问题,用【】标注,谢谢啦~
C/C++ code
//线程的创建 void CHTTPDlg::OnBtnRight() //按下按钮后,开始自动刷新窗口 { HANDLE hThread1; hThread1=CreateThread(NULL,0,SEE_PAGE,【这里窗口指针怎么写?m_hWnd怎么转窗口指针?】,0,NULL); CloseHandle(hThread1); } //线程函数 DWORD WINAPI CHTTPDlg::SEE_PAGE(LPVOID IpParameter) { HWND thread_hwnd=((CWnd*)IpParameter)->m_hWnd; //【窗口指针转换成窗口句柄,这么写对吗?】 CString URLX=URL1+URL2+URL3; //URLX是要动态显示的文字 ::PostMessage(thread_hwnd,WM_SHUAXIN,0,(LPARAM)&URLX); Sleep(1000); //将消息传递回窗口 } //消息响应函数 void CHTTPDlg::OnSHUAXIN(WPARAM wParam,LPARAM lParam) //消息执行函数 { CString str=(LPTSTR)lParam; //【lParam转CString,这么写对吗?】 GetDlgItem(IDC_STATIC_NUM)->SetWindowText(str); UpdateData(false); }
作者: tztztz 发布时间: 2011-12-07
hThread1=CreateThread(NULL,0,SEE_PAGE,this,0,NULL);
CHTTPDlg *pDlg = (CHTTPDlg *)IpParameter;
pDlg->PostMessage(thread_hwnd,WM_SHUAXIN,0,(LPARAM)&URLX);
经供参考
CHTTPDlg *pDlg = (CHTTPDlg *)IpParameter;
pDlg->PostMessage(thread_hwnd,WM_SHUAXIN,0,(LPARAM)&URLX);
经供参考
作者: hpf976149 发布时间: 2011-12-07
觉得你没有必要为了刷新控件而创建个线程去做,可以直接PostMessage就可以了,也不会堵住界面:
void CHTTPDlg::OnBtnRight() //按下按钮后,开始自动刷新窗口
{
PostMessage(WM_REFRESH, 0, 0);
}
再写个WM_REFRESH的响应函数去刷新控件
void CHTTPDlg::OnBtnRight() //按下按钮后,开始自动刷新窗口
{
PostMessage(WM_REFRESH, 0, 0);
}
再写个WM_REFRESH的响应函数去刷新控件
作者: hideforever 发布时间: 2011-12-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28