当前位置: 开源爱好者 » VC++源码 » 界面设计 » 详情页

VC++ 三种方法创建不同类型的画刷

  • 时间:2018-05-17
  • 测试环境:VC++6.0
  • 源码概述:画笔 画刷

VC++ 三种方法创建不同类型的画刷,本源码实例 演示了VC++使用三种方法创建画笔,最核心的代码:
  void CCreatePenView::OnDraw(CDC* pDC)
  {
   CCreatePenDoc* pDoc = GetDocument();
   ASSERT_VALID(pDoc);
   // TODO: add draw code for native data here
   // 第一种方法创建画笔
   for (int i=0; i < 7; i++)
   {
   // 定义时调用构造函数
   CPen myPen1(PS_SOLID + i,1,RGB(255,0,0));
   CPen *pOldPen1 = pDC->SelectObject(&myPen1);
   pDC->MoveTo(10,20*i+10);
   pDC->LineTo(750,20*i+10);
   // 恢复画笔对象
   pDC->SelectObject(pOldPen1);
   }
   // 第二种方法创建画笔
   for (int j = 0;j < 7; j++)
   {
   CPen myPen2; // 创建CPen类的一个对象myPen2
   // 调用CreatePen()函数创建画笔
   myPen2.CreatePen(PS_SOLID,j,RGB(0,255,255));
   CPen *pOldPen2 = pDC->SelectObject(&myPen2);
   pDC->MoveTo(10,180+20*j);
   pDC->LineTo(750,180+j*20);
   // 恢复画笔对象
   pDC->SelectObject(pOldPen2);
   }
   // 第三种方法创建画笔
   // 创建CPen类的一个对象myPen3
   CPen myPen3;
   // 设置LOGPEN结构;
   LOGPEN lp ;
   lp.lopnColor = RGB(255,0,255);
   lp.lopnStyle = PS_SOLID ;
   lp.lopnWidth.x = 8 ;
   // 调用CreatePenIndirect()函数创建画笔;
   myPen3.CreatePenIndirect(&lp) ;
   CPen* pOldPen3 = pDC->SelectObject(&myPen3) ;
   pDC->MoveTo(10,350) ;
   pDC->LineTo(750,350) ;
   // 恢复画笔对象
   pDC->SelectObject(pOldPen3) ;
  }

VC++ 三种方法创建不同类型的画刷测试效果图
源码包大小:25.5K
该源码已累计下载了:

CopyRight 2018© 开源爱好者 All Rights Reserved 豫ICP备16030607号 隐私声明 网站地图