//点击菜单项创建子线程
void CMyView::OnIdSc()
{
// TODO: Add your command handler code here
CDC *pDC=GetDC();
pthread = AfxBeginThread((AFX_THREADPROC)myf,(void*)pDC);
}
int i =10 ;//全局变量
//子线程
void myf(CDC *pDC)
{
for(int j=0;j<3;j++)
{
pDC->Rectangle(10,i,40,i+20);//画矩形
i = i +30;
_sleep(100);//去掉_sleep(100)后可以画出3个矩形,加上之后就只能画一个,但是i的值为3
}
}MFC 多线程 绘图多线程MFC
CDC *pDC=GetDC(); 是 临时 DC ,sleep 以后 ,可能变了。
你 查查。