读书人

CDC 类用SetPixel 画图有有关问题

发布时间: 2013-10-11 14:52:39 作者: rapoo

CDC 类用SetPixel 画图有问题 编译通过
以下是 是我的程序

class Cpoint
{
private:
int x;
int y;
public:
void Moveto(int X,int Y)
{
x=X;
y=y;
}
void Draw(CDC *pdc)
{
pdc->SetPixel(x,y,RGB(255,0,0));
}
};

void CDrawView::OnDraw(CDC* pDC)
{
CDrawDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
Cpoint point;
CDC *pdc=this->GetDC();
// TODO: add draw code for native data here
for(int x=0,y=0;x<200,y<200;x++,y++)
{
point.Moveto(x,y);
point.Draw(pdc);
}
}
类 CDC
[解决办法]
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试是程序员必须掌握的技能之一。

[解决办法]
void CDrawView::OnDraw(CDC* pDC)
{
CDrawDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
Cpoint point;
CDC *pdc=this->GetDC();
// TODO: add draw code for native data here
for(int x=0,y=0;x<200,y<200;x++,y++)
{
point.Moveto(x,y);
point.Draw(pdc);
}
}

OnDraw里不要GetDC,直接用输入参数

读书人网 >C++

热点推荐