首页上一页 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(); // 删除选区对象,释放内存
这段程序编译成功,可没有显示出图形,不知道是什么原因,请老师给以指教,谢谢!

 
	
                                                 VIP会员
VIP会员 购物车
购物车

 私信
                         私信 
                     发表新帖
发表新帖 立即签到
立即签到 
        		  
        		 
         		 关注
关注
                  回复
 回复 支持(
                	支持( 反对(
                    反对( 
               			  
                







 
                     
                     
					 
						 
						 
						 
						