在cwinapp中调用afxbeginthread ,传递的参数是指向c**view类的一个指针pView,用下面的代码获得:
CMDIFrameWnd* pMDI=(CMDIFrameWnd*)AfxGetMainWnd();
CMulthrdView* pView=(CMulthrdView*)((pMDI->MDIGetActive())->GetActiveView());
调用afxbeginthread:
_pThread = AfxBeginThread(CMulthrdView::ThreadFunc,
pView,
THREAD_PRIORITY_NORMAL,
0,
CREATE_SUSPENDED,
NULL);
线程处理函数是简单的一个画图:
UINT CMulthrdView::ThreadFunc(LPVOID ThreadArg)
{
CMulthrdView* pmyview=(CMulthrdView*)ThreadArg;
CDC* pDC=pmyview->GetDC();
pDC->Rectangle(0,0,70,70);
return 0;
}
矩形能画出,但是报错,有未处理的异常,怎么解决啊,恳请各位高手伸出援手啊
CMDIFrameWnd* pMDI=(CMDIFrameWnd*)AfxGetMainWnd();
CMulthrdView* pView=(CMulthrdView*)((pMDI->MDIGetActive())->GetActiveView());
调用afxbeginthread:
_pThread = AfxBeginThread(CMulthrdView::ThreadFunc,
pView,
THREAD_PRIORITY_NORMAL,
0,
CREATE_SUSPENDED,
NULL);
线程处理函数是简单的一个画图:
UINT CMulthrdView::ThreadFunc(LPVOID ThreadArg)
{
CMulthrdView* pmyview=(CMulthrdView*)ThreadArg;
CDC* pDC=pmyview->GetDC();
pDC->Rectangle(0,0,70,70);
return 0;
}
矩形能画出,但是报错,有未处理的异常,怎么解决啊,恳请各位高手伸出援手啊
解决方案 »
- 小菜问个问题,大牛说说啊
- 代理服务器的工作原理是怎样的,就像CCPROXY这类代理软件
- 请问如何区分XP的home版和Professional版?
- 请进, 菜鸟问题
- 我认为没人搞得定,此贴发了几天了,注册表中有些键或值被系统保护,不能改. 谁有办法.
- 老问题如何使用删除带有子目录的文件夹(子目录下有文件)
- 我想做一个程序,依次运行三个可执行文件,如何操作
- ASSERT()怎么出错?
- 在线程中向对话框发送消息用什么.对话框又是怎么接收消息的?在线等待
- Visual Studio Installer的Condition
- 如何在ListBox中数据前面加上复选框啊?
- 大家帮忙看看出现这种运行错误,是什么原因
不过最好不要在线程中绘制界面。