怎样在线程中使用CDC类函数画图

xidianlej 2004-12-10 05:51:43
怎样在线程中使用CDC类的函数画图,据说可以传一个主窗口指针的参数给线程函数,具体怎么操作,能不能给点代码演示.下面是我自己的代码,大家看看正确吗?
//主线程中的代码
CMy2dcadView *pView;
CMainFrame *pFrame=(CMainFrame*)(AfxGetApp()->m_pMainWnd);
pView=(CMy2dcadView*)(pFrame->GetActiveWindow());
m_pThread=AfxBeginThread(ThreadProc,(LPVOID)pView);

//线程函数
UINT ThreadProc(LPVOID ThreadParam)
{
CDC* pDC;

pDC=ThreadParam->GetDC();
这样编译不过去,主要是ThreadParam的问题.
...全文
104 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨星 2004-12-10
  • 打赏
  • 举报
回复
哦,sorry,应该是:
CMy2dcadView* pView = (CMy2dcadView*)ThreadParam;
晨星 2004-12-10
  • 打赏
  • 举报
回复
pDC=ThreadParam->GetDC();
该为:
CMy2dcadView* pView = (CMy2dcadView)ThreadParam;
pDC=pView->GetDC();
DentistryDoctor 2004-12-10
  • 打赏
  • 举报
回复
将CWnd*作为线程参数传递将会有问题。
因为MFC的CWnd*与HWND间的映射是通过一个线程局部存储的MAP来实现的。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧