CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

菜鸟提问,高手请指点~~~~~~~~~~

楼主jay0518(jay)2005-09-25 17:15:22 在 VC/MFC / 基础类 提问

为什么这行代码不能实现用红色填充圆的功能呢  
  请高手指教~~~~~  
  ........  
  protected:  
          void   text1(CDC*   pDC);  
  void   text2(CDC*   pDC);  
  .........  
  void   CMyVC3View::OnDraw(CDC*   pDC)  
  {  
  CMyVC3Doc*   pDoc   =   GetDocument();  
  ASSERT_VALID(pDoc);  
  CRect   rect;  
  GetClientRect(&rect);  
  pDC->SetMapMode(MM_LOMETRIC);  
  pDC->SetViewportOrg(int(rect.right/2),int(rect.bottom/2));  
  text1(pDC);  
  text2(pDC);  
  //   TODO:   add   draw   code   for   native   data   here  
  }  
  ........  
  void   CMyVC3View::text1(CDC*   pDC)  
  {  
  CPen   newpen(PS_NULL,1,RGB(255,0,0));  
  CPen*   oldpen;  
  CBrush   MyBrush;  
  CBrush*   pBrush;  
  MyBrush.CreateSolidBrush(RGB(0,255,0));  
  pBrush=pDC->SelectObject(&MyBrush);  
  oldpen=pDC->SelectObject(&newpen);  
          pDC->Rectangle(0,700,500,0);  
  pDC->SelectObject(pBrush);  
  pDC->SelectObject(oldpen);  
          MyBrush.DeleteObject();  
  }  
  void   CMyVC3View::text2(CDC*   pDC)=====>>就是这个函数的问题,只能显示圆的轮廓,圆内部没有被红色填充  
  {  
  CPen   newPen;CBrush   newBrush;  
  CPen*   oldPen;CBrush*   oldBrush;  
  newPen.CreatePen(PS_SOLID,1,RGB(255,0,0));  
        oldPen=pDC->SelectObject(&newPen);  
  newBrush.CreateSolidBrush(RGB(255,0,0));  
  oldBrush=pDC->SelectObject(&newBrush);  
   
       
  pDC->Arc((0-350),(0+350),(0+350),(0-350),0,350,0,350);  
   
   
  pDC->SelectObject(oldPen);  
  pDC->SelectObject(oldBrush);  
  newPen.DeleteObject();  
  newBrush.DeleteObject();  
  }  
  ........  
  很急啊  
  一定加分 问题点数:20、回复次数:4Top

1 楼dawndu(东南飞)回复于 2005-09-25 23:03:15 得分 10

画圆一般是用pDC->Ellipse(.....)  
  你用的画弧的函数,我也不知道行不行,从来没有用过这个画圆Top

2 楼jay0518(jay)回复于 2005-09-26 12:35:14 得分 0

终点和起点是同一个点的弧不就是圆嘛  
  关键问题不是能不能画出圆(圆能够显示)的问题,而是圆的内部没有被填充红色Top

3 楼i_noname(晚九朝五)回复于 2005-09-26 12:41:38 得分 10

CRgn::CreateEllipticRgn  
   
  then   use   CDC::FillRgn   or   CDC::PaintRgnTop

4 楼jay0518(jay)回复于 2005-09-26 12:51:16 得分 0

to     dawndu(东南飞)兄弟:你的方法能行,谢谢你  
  i_noname(晚九朝五)   也感谢你~支持Top

相关问题

  • 菜鸟提问:链接时候报错,请大家指点。
  • 菜鸟提问,估计大家都会,指点一下
  • 菜鸟提问,请各位大侠指点一下。
  • 菜鸟提问:关于注册表。敬请各位大侠指点,谢谢!
  • ===***====菜鸟提问:三个表之间的运算.请指点.解决就给分==***===
  • 菜鸟提问!!!!!!!
  • 菜鸟提问。
  • !#!菜鸟提问:
  • 菜鸟提问!
  • 菜鸟提问:

关键词

  • view
  • pdc
  • newpen
  • oldpen
  • mybrush
  • cpen
  • pbrush
  • cbrush
  • cdc
  • selectobject

得分解答快速导航

  • 帖主:jay0518
  • dawndu
  • i_noname

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo