画图必须用CDC. 在你的 CDialog 或者是CView 导出类里的 OnPaint 或者是 OnDraw 里使用 CDC。 最好使用 memory DC, 就是使用 CBitmap 作图, 然后用BitBlt 贴到屏幕上。例子:
CGraphSet* pGraphSet = GetGraphSet(); //绘图的类
CRect rect;
GetClientRect(&rect);
int nWidth = rect.Width();
int nHeight = rect.Height();
CDC MemDC;
CBitmap MemBitmap;
MemDC.CreateCompatibleDC(pDC);
MemBitmap.CreateCompatibleBitmap(pDC, nWidth, nHeight);
CBitmap *pOldBit = MemDC.SelectObject(&MemBitmap);
MemDC.FillSolidRect(0, 0, nWidth, nHeight, CGlobal::backgroundColor);
pGraphSet->SetGraphRect(rect);
pGraphSet->Draw(&MemDC); //在这里画图!
pDC->BitBlt(0, 0, nWidth, nHeight, &MemDC, 0, 0, SRCCOPY);
MemDC.SelectObject(pOldBit);
MemBitmap.DeleteObject();
MemDC.DeleteDC();
|