请教一个关于多线程中显示图像的问题 多线程函数是全局函数,请问在全局函数中可以用CDC类成员函数么,该如何在全局函数中显示图像呢,请高手指教,非常感谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 线程函数不是有个参数吗?你把画图用的DC的地址传进去不就行了?DWORD WINAPI ThreadFunc(LPVOID lpParam){ CDC* pDC = (CDC *)lpParam; pDC->……} 这种方法很不好。你不应该在一个线程中操作另一个线程创建的窗口的DC。正确的作法是只在主线程中显示,子线程只负责准备显示数据,准备完毕后用消息通知主线程,由主线程把它显示出来。 如果子线程一定要显示,最好也只在自己(创建)的窗口中显示。也就是说,窗口的显示应该只由窗口所属的线程负责。这时你可以使用MFC中的UI线程类或在线程函数中用CreateWindows(Ex)创建自己的窗口(这样你的线程就必须有一个消息循环而不能再是简单的顺序结构的代码了)。不过最好还是一个进程只有一个线程(主线程)有UI,并且由这个线程负责所有UI相关的IO。 不用怕,按 steedhorse(晨星) 说的干就可以了 小妹急问一个提高CPU使用率的问题~~ xls 之xmlns问题 眼睛近视了,怎么办?痛苦! GetDC和BeginPaint有什么区别 insertBefore怎么用? 请问我错在哪儿? 初来乍到学VC,请教调用DLL的问题,请各位前辈帮个忙;)) 请问一下COM的编译错误 网络问题,急!急!急! 怎么使用DirectSound API 播放内存中的音乐? 谁那有换皮肤的代码?界面上的按钮在不同皮肤中位置不同 调用一个*.c文件的问题
DWORD WINAPI ThreadFunc(LPVOID lpParam)
{
CDC* pDC = (CDC *)lpParam;
pDC->……
}
如果子线程一定要显示,最好也只在自己(创建)的窗口中显示。也就是说,窗口的显示应该只由窗口所属的线程负责。这时你可以使用MFC中的UI线程类或在线程函数中用CreateWindows(Ex)创建自己的窗口(这样你的线程就必须有一个消息循环而不能再是简单的顺序结构的代码了)。不过最好还是一个进程只有一个线程(主线程)有UI,并且由这个线程负责所有UI相关的IO。