对话框开多线程的问题 我写了一个基于对话框的程序。点对话框上的一个按钮后,会产生一个新线程做一些工作,但是中间要在对话框上显示一些文字,应该怎么做呢?我是创建线程的时候把this指针当作线程函数的参数传过去,然后在线程里调用对话框里的一个函数显示文字。可是调试时候给静态文本赋了值,一到调用UpdateData()时候就出错了(出在wincore.cpp line 894)。向高手们求助,谢谢啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 向主窗口发消息,SendMessage(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);其中 wParam和lParam是一个指针,可以用来保存数据的地址 我也想过发送消息,可是应该发送什么消息啊,windows有没有专门给用户用的消息呢?害怕在窗口类里加了消息处理函数后,会错误处理专用的消息。 不会,定义消息的如下:在stdafx.h中写如下语句:#define WM_MY_MSG WM_USER+101 //WM_MY_MSG就是你自己定义的消息,其他的看MSDN在你程序(如基于对话框程序的MCyDlg中)的头文件CMyDlg.h中写如下函数:void OnMyRecv(WPARAM wParam,LPARAM lParam);然后在CMyDlg.cpp文件中写如下代码:添加消息映射BEGIN_MESSAGE_MAP(CMyDlg, CDialog)...ON_MESSAGE(WM_MY_MSG,OnMyRecv)...END_MESSAGE_MAP()添加处理函数void CMyDlg::OnMyRect(WPARAM wParam,LPARAM lParam){ DataStruct *data=(DataStruct*)lParam;//这里是从线程里面发过来的数据 //你的处理代码,处理数据 UpdateData();}就可以了,其他的请查看MSDN 为何读取不到文件的内容。。 关于图像处理的问题,请教高人!! 用VC怎麽把视频形成视频流??? 字符集的转换,简体中文操作系统中如何显示日文 求教,怎么通过应用程序产生ctrl+alt+delete的sas消息? 如何实现通过代理服务器连接ftp struct的用法问题 关于IE保护(防主页、设置等被修改)如何VC中实现? C++题,超难,特难,一句话,难难难!!!(对我来说啊),各位高手帮帮我啊!!!help! VC如何实现可左右滑动的工具栏 怎么读取DataGrid中的某一条记录? 急,这两个FTP API函数的用法
其中 wParam和lParam是一个指针,可以用来保存数据的地址
害怕在窗口类里加了消息处理函数后,会错误处理专用的消息。
定义消息的如下:
在stdafx.h中写如下语句:
#define WM_MY_MSG WM_USER+101 //WM_MY_MSG就是你自己定义的消息,其他的看MSDN在你程序(如基于对话框程序的MCyDlg中)的头文件CMyDlg.h中写如下函数:
void OnMyRecv(WPARAM wParam,LPARAM lParam);然后在CMyDlg.cpp文件中写如下代码:添加消息映射
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
...
ON_MESSAGE(WM_MY_MSG,OnMyRecv)
...
END_MESSAGE_MAP()添加处理函数
void CMyDlg::OnMyRect(WPARAM wParam,LPARAM lParam)
{
DataStruct *data=(DataStruct*)lParam;//这里是从线程里面发过来的数据
//你的处理代码,处理数据
UpdateData();
}
就可以了,其他的请查看MSDN