当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: ss:=王洪:20050604:20070605 请问如何以:为界,拆分成一个字符型数组的三个元素。 aa:array[0,2] of string aa[0]=王洪 aa[1]=20050604 aa[2]=20070605 谢谢大家了。 ......
    摘要: 谢谢:) ......


CombineRgn怎么合并不成功

在void   CTestView::OnDraw(CDC*   pDC)中画了两个圆,想把两个圆合并成一个Rgn,然后显示一个颜色,可显示出来的,却好像没有合并  
  CRgn   rgnCircle1;  
  CRgn   rgn3;  
   
  rgnCircle1.CreateEllipticRgn(10,   20,   110,   120);             //圆1  
  pDC->SelectClipRgn(&rgnCircle1);  
  pDC->FillRgn(&rgnCircle1,   &CBrush(RGB(255,0,0)));         //red  
   
  rgn3.CreateEllipticRgn(150,180,250,280);                           //圆2  
  pDC->SelectClipRgn(&rgn3);  
  CombineRgn(rgn3,rgn3,rgnCircle1,RGN_OR);  
  pDC->FillRgn(&rgn3,   &CBrush(RGB(0,0,0)));                         //black  
   
  可上面的代码只把圆2显示成了黑色,而圆1还是红色,这是为什么?  
  怎么让圆1和圆2合并成一个Rgn,然后控制这个Rgn显示为黑色  
   
  多谢指教

NO.1   作者: oyljerry

http://www.yesky.com/SoftChannel/72351167954485248/20001203/141385.shtml

NO.2   作者: liuyan4794

//这样就可以了  
  CRgn   rgnCircle1;  
  CRgn   rgn3;  
   
  rgnCircle1.CreateEllipticRgn(10,   20,   110,   120);             //圆1  
  pDC->SelectClipRgn(&rgnCircle1);  
  pDC->FillRgn(&rgnCircle1,   &CBrush(RGB(255,0,0)));         //red  
   
  rgn3.CreateEllipticRgn(150,180,250,280);                           //圆2  
  CombineRgn(rgn3,rgn3,rgnCircle1,RGN_OR);  
  pDC->SelectClipRgn(&rgn3);  
  pDC->FillRgn(&rgn3,   &CBrush(RGB(0,0,0)));                         //black}  
 

NO.3   作者: koko1998

HRGN   rgnCircle1;  
  HRGN   rgn3;  
   
  rgnCircle1.CreateEllipticRgn(10,   20,   110,   120);             //圆1  
  pDC->SelectClipRgn(&rgnCircle1);  
  pDC->FillRgn(&rgnCircle1,   &CBrush(RGB(255,0,0)));         //red  
   
  rgn3.CreateEllipticRgn(150,180,250,280);                           //圆2  
  pDC->SelectClipRgn(&rgn3);  
  CombineRgn(rgn3,rgn3,rgnCircle1,RGN_OR);  
   
  pDC->SelectClipRgn(&rgn3);/////////////add  
   
  pDC->FillRgn(&rgn3,   &CBrush(RGB(0,0,0)));                         //black


    摘要: function tfrm.bin2asc(source : array of byte; bufferlen: integer) : ansistring; var temp : string; len : integer; i : integer; j : integer; err: boolean; begin result := ; temp := ; err := false; ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE