如果我错了,请纠正我,因为我是新手。我有一个线程显示从使用CreateWindowEx()
功能创建的窗口上的网络摄像头捕获的图像。现在当我执行我的程序时,我可以看到我的绘图代码(在WindowProc()
中)从未到达(从子线程调用InvalidateRect()
到重绘),使用断点检查。
实际上帧捕获和显示是在线程中完成的,我认为因为它在child thread
和Window
中位于Main thread
,这就是为什么它无法调用paint事件。
你能帮助我吗
答案 0 :(得分:1)
从子线程调用InvalidateRect()
会使窗口重绘。但是WM_PAINT
是一个低优先级的消息,因此如果有太多其他活动,窗口可能不会被重绘。您是否尝试过将Sleep()放入处理线程中以使绘画有机会完成?