请教一个MFC画图形的问题
class CMemDC : public CDC
{
private:
CBitmap m_bitmap; // 实际的bitmap
CBitmap* m_pOldBitmap; // 原先在CMemDC中的位图
CDC* m_pDC; // 保存从构造函数中传来的CDC
CRect m_rect; // 画的矩形区域
BOOL m_bMemDC; // 如果CDC是一个内存DC,则为TRUE
public:
CMemDC(CDC* pDC) : CDC()//构造函数
{
ASSERT(pDC != NULL);//初始化
m_pDC = pDC;//初始化
m_pOldBitmap = NULL;//初始化
m_bMemDC = !pDC->IsPrinting();//判断是否是一个内存DC
if (m_bMemDC) // 创建一个内存DC
{
pDC->GetClipBox(&m_rect);
CreateCompatibleDC(pDC);
m_bitmap.CreateCompatibleBitmap(pDC, m_rect.Width(), m_rect.Height());
m_pOldBitmap = SelectObject(&m_bitmap);
SetWindowOrg(m_rect.left, m_rect.top);
}
else // 这不是一个内存DC,我们只拷贝相关的DC部分以备打印
{
m_bPrinting = pDC->m_bPrinting;
m_hDC = pDC->m_hDC;
m_hAttribDC = pDC->m_hAttribDC;
}
}
这段代码定义的是一个内存DC类,这段代码中,rect并没有给出具体的区域,比如一个控件窗口的区域,或者(50,50,300,300)等,那这段代码只定义了这么个抽象的rect,如何知道在哪里去绘图啊???