DwyaneCV 2013年12月10日
请教一个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,如何知道在哪里去绘图啊???
...全文
65 点赞 收藏 6
写回复
6 条回复

还没有回复,快来抢沙发~

发动态
发帖子
图形处理/算法
创建于2007-09-28

7609

社区成员

5.0w+

社区内容

VC/MFC 图形处理/算法
社区公告
暂无公告