我在一个工作者线程里处理数据
怎么把处理完的数据在界面控件显示呢
PostMessage
SendMessage
好像不好使啊
谁给我点简单的例子看看啊
怎么把处理完的数据在界面控件显示呢
PostMessage
SendMessage
好像不好使啊
谁给我点简单的例子看看啊
解决方案 »
- 自由线程封送拆收器什么意思?//两个线程处理模型是俩个线程之间吗?
- CString 变量 析构时,报错.详见内容
- IE 控件全屏 全屏不能全部显示
- 请问有人知道winapi函数有个实时监听前台窗口是否改变的函数吗?
- 我该怎么搞他?虽然只有3行代码
- DROP DOWN风格的COMBO BOX控件,如何做到在EDIT CONTROL中自行输入文本并按回车后输入的文本能显示在另一STATIC控件中?
- 急!有关CTabCtrl!分不是问题
- 虽然水平差劲,但也攒到第二条裤衩了,高兴!!!
- DEBUG版本链接MD出现问题
- 如何用新版本的COM组件替换旧版本的COM组件而不影响原应用程序?
- 紧急求助 怎样获得ftp服务器上某个文件大小?
- afxwnd42是什么窗口类?
或者简单点,用个定时器,定时刷新数据
{
int data1;
char data2[LEN];
};......
{
MyData *data;
......
(处理)
SendMessage(hwnd, WM_MYUPDATE, (WPARAM)data, NULL);
}WinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_MYUPDATE:
{
MyData *p=(MyData *)wParam;
m_data1=p->data1;
memcpy(m_data2, p->data2, LEN*sizeof(char));
UpdateData(TRUE);
}
}
}不一定很明白啊,呵呵。
大致是这样:主线程创建一个队列和semaphore,然后用MsgWaitForMultipleObjects()等待该semaphore,有message就处理msg,否则就是有其他线程的请求到达。调用者把请求的函数指针和参数放到队列上,并release那个semaphore。如果把队列和semaphore封装到一起,并把请求封装成对象,就变成象ACE那样的面向对象的消息中间件。
(要索取开发包请发邮件到[email protected],标题写上"索取OOMM",我会把.h,.lib和debug/release的dll,还有sample发过来。sample是MFC工程,含source code。没有任何限制,不含任何木马成分,可以用做任何用途,信不过我别用。)