用GDI+绘图在窗口显示不了

q06380925 2008-09-29 04:17:29

void CGDIView::OnDraw(CDC* pDC)
{
CGDIDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
//以下为GDI绘图
/*
CPen newPen(PS_SOLID,3,RGB(255, 0, 0));
CPen* pOldPen = pDC->SelectObject( &newPen );
pDC->MoveTo(20,10);
pDC->LineTo(200,100);
pDC->SelectObject(pOldPen);
*/
//以下为GDI+绘图
using namespace Gdiplus;
Graphics graphics(pDC->m_hDC);
Pen newPen(Color(255,0,0),3);
graphics.DrawLine(&newPen, 20, 10, 200, 100);

// TODO: 在此处为本机数据添加绘制代码
}


如果用GDI代码(也就是被注释掉的那一部分)则可以实现绘图,
而用GDI+的代码,在窗口中却没有实现绘图,然后我查了graphics.DrawLine(&newPen, 20, 10, 200, 100)
函数的返回值,发现返回值为InvalidParameter(错误代码值2),也就是绘图没有成功,
InvalidParameter错误按英语翻译为参数错误,真是郁闷啊!!
还请哪位高手帮我解决这个问题。
...全文
168 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
q06380925 2008-09-29
  • 打赏
  • 举报
回复
终于解决了,原来是没有初始化GDI+

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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