线程中更新窗口不能直接调用UpdateData函数 的解决办法
2017-04-21 17:56
316 查看
LRESULT OnUpdateData(WPARAM wParam, LPARAM lParam);加到你的头文件中去
tonygesong回复于15日21点31分
1.自定义消息:
#define WM_UPDATEDATA 10000+1 // 更新界面
2.添加消息映射:
ON_MESSAGE(WM_UPDATEDATA, OnUpdateData)
3.定义消息处理函数:
LRESULT CDlg::OnUpdateData(WPARAM wParam, LPARAM lParam)
{
UpdateData(wParam);
return 0;
}
4.在线程中发送消息:
首先获取主窗口的指针
CDlg* pMain = (CDlg*)param;
SendMessage(pMain->m_hWnd, WM_UPDATEDATA, FALSE, FALSE);
xiaozhu123回复于15日21点43分
不要在线程中操作界面,可以向窗口发消息,用PostMessage或是SendMessage都可以,发自定义消息
tonygesong回复于15日21点31分
1.自定义消息:
#define WM_UPDATEDATA 10000+1 // 更新界面
2.添加消息映射:
ON_MESSAGE(WM_UPDATEDATA, OnUpdateData)
3.定义消息处理函数:
LRESULT CDlg::OnUpdateData(WPARAM wParam, LPARAM lParam)
{
UpdateData(wParam);
return 0;
}
4.在线程中发送消息:
首先获取主窗口的指针
CDlg* pMain = (CDlg*)param;
SendMessage(pMain->m_hWnd, WM_UPDATEDATA, FALSE, FALSE);
xiaozhu123回复于15日21点43分
不要在线程中操作界面,可以向窗口发消息,用PostMessage或是SendMessage都可以,发自定义消息
相关文章推荐
- 线程中更新窗口不能直接调用UpdateData函数 的解决办法
- 线程中更新窗口不能直接调用UpdateData函数
- MFC:线程中更新窗口不能直接调用UpdateData函数
- 线程中更新窗口不能直接调用UpdateData函数
- 线程中更新窗口不能直接调用UpdateData函数
- 线程中更新窗口不能直接调用UpdateData函数
- 多线程委托之跨线程问题分析--在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke(解决方法已更新)
- 安装SQL Server时出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法
- “鼠标拖动游戏窗口,消息循环会卡住,导致游戏不能更新不能渲染”,解决办法在这里
- 工作线程中调用UI线程创建的窗口的UpdateData会导致Assert的问题及解决办法.
- 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法
- 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法
- C# 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke错误的解决办法
- 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法
- 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke 解决办法
- 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法
- 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法
- 工作线程中调用UI线程创建的窗口的UpdateData会导致Assert的问题及解决办法(ZZ)
- 工作线程中调用UI线程创建的窗口的UpdateData会导致Assert的问题及解决办法
- C#技巧【调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解决办法】【C#读写EXCEL源码提示“office检测到此文件存在一个问题。为帮助保护您的计算机,不能打开此文件”的解决】