请教一个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,如何知道在哪里去绘图啊???
{
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,如何知道在哪里去绘图啊???
...全文
相关推荐
图形学课设,基于MFC和二维变换的画图软件
计算机图形学课设,基于MFC和二维变换的画图软件,文档请看我的博客:https://blog.justlovesmile.top/
2Drawing画图程序2Drawing.rar_drawing_vc 画图_画图 vc_画图VC++_画图程序
2Drawing画图程序2Drawing,主要是VC开发的2维图形的画图程序
MFC课程设计报告
一个MFC的课程设计报告 对学习WINDOWS程序设计的人有用,相当于提供一个模板吧
MFC画图程序源码
MFC画图程序源码,看有人在问我要,就发上来,VS2013的
MFC单文档画图程序 MFC编程
利用MFC单文档制作的一个简单的画图软件


图形处理/算法
