帮帮忙

renchuang 2003-05-23 12:43:54

有一段程序如下,可以划一个矩形并填充它,
newpen.CreatePen(PS_SOLID,1,RGB(255,0,0));
oldpen=dc.SelectObject(&newpen);
newbrush.CreateSolidBrush(RGB(0,255,0);
oldbrush=dc.SelectObject(&newbrush);
dc.Rectangle(10,10,200,200);
dc.SelectObject(oldbrush);
newbrush.DeleteObject();
dc.SelectObject(oldpen);
newpen.DeleteObject();

但是下面这段程序只能画一个矩形,并不能够填充它,这是什么原因?上面只定义和建立了笔刷就能填充,具体怎样填充的不清楚,望指教,现要填充下面的矩形又如何办?请指教.
newpen.CreatePen(PS_SOLID,1, RGB(255,0,0));
oldpen=dc.SelectObject(&newpen);
newbrush.CreateSolidBrush(RGB(255,0,0));
oldbrush=dc.SelectObject(&newbrush);
dc.MoveTo(10,10);
dc.LineTo(10,200);
dc.LineTo(200,200);
dc.LineTo(200,10);
dc.LineTo(10,10);
dc.SelectObject(oldbrush);
newbrush.DeleteObject();
dc.SelectObject(oldpen);
newpen.DeleteObject();


...全文
38 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
renchuang 2003-05-23
  • 打赏
  • 举报
回复
下面的程序是画线,在不用Rectangle命令的情况下怎样填充????
..
magic007 2003-05-23
  • 打赏
  • 举报
回复
只是画线当然不能填充了。
rtdb 2003-05-23
  • 打赏
  • 举报
回复
上面的程序, 若是选用一个空刷, 也不会填充。

唉, 还是找本书读一下吧。
rtdb 2003-05-23
  • 打赏
  • 举报
回复
上面的程序调用Rectangle的时候, 会用当前的刷填充该矩形;
下面的程序只是画线, 当然就没有填充了。
想要填充就也用上面的Rectangle好了。

tserpent 2003-05-23
  • 打赏
  • 举报
回复
你用dc.FillRect() dc.FillSolidRect():
void FillRect( LPCRECT lpRect, CBrush* pBrush );
or
void FillSolidRect( LPCRECT lpRect, COLORREF clr );

69,337

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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