如何在mfc中通过线程向主窗口发送数据或者是访问控件
2014-09-04 17:39
423 查看
<pre name="code" class="cpp">首先在创建子线程的时候将窗口的句柄传入到子线程 CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MyThreadProc, GetSafeHwnd(), 0, 0); 然后在你的子线程中发送消息 UINT MyThreadProc( LPVOID pParam ) { HWND hWnd= (HWND)pParam; ... SendMessage(hWnd, UM_MSG, ...,...); // 发送自定义的消息到主界面线程,通知它去更新界面控件信息 用宏定义你的消息<span style="font-family: Arial, Helvetica, sans-serif;">M_MSG</span> return 0; } 然后到你的类中定义 afx_msg LRESULT OnHandleMsg(WPARAM wParam, LPARAM lParam);// 自定义消息UM_MSG的消息处理函数 然后在你要添加的cpp文件中找到 BEGIN_MESSAGE_MAP(CXXDlg, CDialog) ... END_MESSAGE_MAP() 添加 ON_MESSAGE(UM_MSG, &CXXDlg::OnHandleMsg) 到他们之间 最后定义你的处理函数 <pre name="code" class="cpp">LRESULT CXXDlg::OnHandleMsg(WPARAM wParam, lParam) { ... SetDlgItemText(...); return 0; }
相关文章推荐
- MFC如何自定义消息与在线程中向主窗体控件发送数据
- vc如何自定义消息与在线程中向主窗体控件发送数据
- c++控制台(非窗口,非MFC框架)里线程如何通过自定义消息通信
- mfc 新创建的线程如何获得 窗口控件对象
- vc如何自定义消息与在线程中向主窗体控件发送数据
- 子线程如何获取和设置 或者控制窗口实时显示数据(网上的资料经个人整理拼凑总结)
- 不知道在MFC中如何从线程工作函数中向窗口发送消息?用好一个指针就够了
- 子线程如何获取和设置 或者控制窗口实时显示数据(网上的资料经个人整理拼凑总结)
- 如何在基于 MFC 的 ActiveX 控件激发事件,在 Visual c + + 中的启动另一个线程
- 如何通过使用 Visual C#.net 将原始数据发送到打印机
- 如何通过字符串指定的窗口名称,获取该窗口内的控件
- 教你如何解决“线程间操作无效: 从不是创建控件的线程访问它”
- iphone 自定义uiTableViewCell,如何通过其数据成员来访问cell本身
- 教你如何解决“线程间操作无效: 从不是创建控件的线程访问它”
- 在MFC中从一个线程工作函数中向窗口发送消息(this指针的妙用)
- 如何跨线程访问控件
- 如何在基于 MFC 的 ActiveX 控件激发事件,在 Visual c + + 中的启动另一个线程
- 在MFC中从一个线程工作函数中向窗口发送消息(this指针的妙用) .
- 如何解决DotNET中跨线程访问控件的问题
- ODI如何通过logminer技术从oracle 9i或者10g中抽取增量数据(三)