用GDI+的DrawLine画不出图

BuleRiver 2009-02-18 08:20:39
刚学GDI+,建立了一个单文档工程,在OnDraw函数中画直线,但是却显示不出来,代码如下:

void CLineView::OnDraw(CDC* pDC)
{
CLineDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here

Graphics graphics(*pDC);
Pen myPen(Color::Red);
myPen.SetWidth(2);
graphics.DrawLine(&myPen, 0, 0, 200, 300);
}

弄不明白什么原因,向高手请教!
...全文
147 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tinary3v0 2009-02-19
  • 打赏
  • 举报
回复
改成下面这样试试:

void CLineView::OnDraw(CDC* pDC)
{
CLineDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here

Graphics graphics(pDC->m_hDC);
Pen myPen(Color(255,255,0,0),1);
myPen.SetWidth(2);
graphics.DrawLine(&myPen, 0, 0, 200, 300);
}


颜色可以直接给参数 可以直接带上画笔宽度 不用再使用SetWidth

BuleRiver 2009-02-19
  • 打赏
  • 举报
回复
已经弄明白了,因为没有初始化GDI+,谢谢Tinary3v0!

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧