CPaintDC dc(this);

CBitmap bmp,bkgbmp;
//设置背景dc
this->GetWindowRect(&windowrect);
mybkgdc.CreateCompatibleDC(&dc);
bkgbmp.CreateCompatibleBitmap(&mybkgdc,windowrect.right-windowrect.left,windowrect.bottom-windowrect.top); mybkgdc.SelectObject(&bkgbmp);
mybkgdc.PatBlt(0, 0,windowrect.right-windowrect.left,windowrect.bottom-windowrect.top,WHITENESS); //设置后台dc
mydc.CreateCompatibleDC(&dc);
bmp.CreateCompatibleBitmap(&mydc,windowrect.right-windowrect.left,windowrect.bottom-windowrect.top);
mydc.SelectObject(&bmp);
mydc.PatBlt(0, 0,windowrect.right-windowrect.left,windowrect.bottom-windowrect.top,WHITENESS);
void CTestsystemView::OnPaint() 
{
CPaintDC dc(this); // device context for painting
CPen *poldpen;
CPen newpen;
mydc.BitBlt(0,0,600,600,&mybkgdc,0,0,SRCCOPY);
......
newpen.CreatePen(PS_SOLID,2,RGB(255,0,0));
poldpen=mydc.SelectObject(&newpen);
//画脉冲
         DrawAllPulse(&mydc);
mydc.SelectObject(poldpen);
newpen.DeleteObject();
dc.BitBlt(0,0,600,600,&mydc,0,0,SRCCOPY );
}我在程序中是使用mydc和mybkgdc,主要是为了解决屏幕闪烁的问题.在onpaint()
函数中我使用一个newpen,是希望能产生一个红色的画笔.但是在屏幕上显示的却是黑色的.不知为什么?