需要做一个表盘,在微秒级的级别下刷新表盘指针,现在的代码如下         dJD = CenterLevel; //度数
sTmp.Format("%.2f", dJD);
GetDlgItem(IDC_360_EDIT)->SetWindowText(sTmp);//界面框中显示
         if ((dJD > 0) && (dJD <= 90))
dJD = 90 - dJD;
else
dJD = 360 - (dJD - 90);
dJD = dJD * 3.1415926 / 180;//弧度
iX = cos(dJD) * 60; 
iY = sin(dJD) * 60; pDC = GetDlgItem(IDC_360)->GetDC();
dcMem360.CreateCompatibleDC(pDC);//在内存中建造了DC
CBitmap* pOldBmp = dcMem360.SelectObject(&bmp_360);
//将内存中的图拷贝到屏幕上进行显示
pDC->BitBlt(0, 0, 170, 170, &dcMem360, 0, 0, SRCCOPY);
//绘图
pOldpen = pDC->SelectObject(&pen);
nOldRop = pDC->SetROP2(R2_NOTXORPEN); pDC->MoveTo(85, 85);
pDC->LineTo(85 + iX, 85 - iY);
pDC->SetROP2(nOldRop);
pDC->SelectObject(pOldpen);
//绘图完成后的清理
ReleaseDC(&dcMem360);
bmp_360 为窗体类定义的Bitmap,已载入底图
我的想法是每次画图前载入原始图像,在窗体中显示后在上面重新画现在的问题是在2毫秒的情况下执行一段时间(5分钟左右)
程序提示内存访问错误,请问上面的执行有问题吗?有没有更好的方法进行处理?