首页上一页 1 下一页尾页 1 条记录 1/1页
《Visual C++从入门到精通》关于填充图形区域
发表在C语言图书答疑
2013-05-12
是否精华
是
否
版块置顶:
是
否
老师,您好:
我用的是《Visual C++从入门到精通》,在第13章 P.314页的“13.3.4填充图形区域”一节里有
一段程序,我按照它的方法写了以下二段程序,在 OnPaint()中:
1.
// 绘制圆形 (填充椭圆形)
CBrush Brush1;
Brush1.CreateSolidBrush(RGB(0,0,255));
HRGN hRgn1 = CreateEllipticRgn(50,50,200,200); // 创建椭圆选区
CRgn EllipseRgnObject;
EllipseRgnObject.Attach(hRgn1); // 将椭圆选区附加到选区对象
dc.FillRgn(&EllipseRgnObject, &Brush1); // 用颜色画刷填充选区
EllipseRgnObject.Detach(); // 分离椭圆选区的句柄
EllipseRgnObject.DeleteObject(); // 删除选区对象,释放内存
这段程序显示成功。
2.
// 绘制多边形 (填充多边形)
CBrush Brush2;
Brush2.CreateSolidBrush(RGB(255,255,255));
CPoint Points[2]; // 定义三角形的三个角的端点数组
// 给三个角的端点数组赋值
Points[0].x = 50;
Points[0].y = 50;
Points[1].x = 200;
Points[1].y = 50;
Points[2].x = 200;
Points[2].y = 100;
HRGN hRgn2 = CreatePolygonRgn(Points,3,WINDING); // 创建三角形选区
CRgn PolygonRgnObject;
PolygonRgnObject.Attach(hRgn2); // 将三角形选区附加到选区对象
dc.FillRgn(&PolygonRgnObject, &Brush2); // 用颜色画刷填充选区
PolygonRgnObject.Detach(); // 分离椭圆选区的句柄
PolygonRgnObject.DeleteObject(); // 删除选区对象,释放内存
这段程序编译成功,可没有显示出图形,不知道是什么原因,请老师给以指教,谢谢!
我用的是《Visual C++从入门到精通》,在第13章 P.314页的“13.3.4填充图形区域”一节里有
一段程序,我按照它的方法写了以下二段程序,在 OnPaint()中:
1.
// 绘制圆形 (填充椭圆形)
CBrush Brush1;
Brush1.CreateSolidBrush(RGB(0,0,255));
HRGN hRgn1 = CreateEllipticRgn(50,50,200,200); // 创建椭圆选区
CRgn EllipseRgnObject;
EllipseRgnObject.Attach(hRgn1); // 将椭圆选区附加到选区对象
dc.FillRgn(&EllipseRgnObject, &Brush1); // 用颜色画刷填充选区
EllipseRgnObject.Detach(); // 分离椭圆选区的句柄
EllipseRgnObject.DeleteObject(); // 删除选区对象,释放内存
这段程序显示成功。
2.
// 绘制多边形 (填充多边形)
CBrush Brush2;
Brush2.CreateSolidBrush(RGB(255,255,255));
CPoint Points[2]; // 定义三角形的三个角的端点数组
// 给三个角的端点数组赋值
Points[0].x = 50;
Points[0].y = 50;
Points[1].x = 200;
Points[1].y = 50;
Points[2].x = 200;
Points[2].y = 100;
HRGN hRgn2 = CreatePolygonRgn(Points,3,WINDING); // 创建三角形选区
CRgn PolygonRgnObject;
PolygonRgnObject.Attach(hRgn2); // 将三角形选区附加到选区对象
dc.FillRgn(&PolygonRgnObject, &Brush2); // 用颜色画刷填充选区
PolygonRgnObject.Detach(); // 分离椭圆选区的句柄
PolygonRgnObject.DeleteObject(); // 删除选区对象,释放内存
这段程序编译成功,可没有显示出图形,不知道是什么原因,请老师给以指教,谢谢!