首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

Vc中的色棒,该如何解决

2012-02-08 
Vc中的色棒for(int index0index128index++){int COLOR[3] {0, 0, 143}if (index 14){COLOR[0]

Vc中的色棒
for(int index=0;index<=128;index++)
{
  int COLOR[3] = {0, 0, 143};
if (index <= 14)  
{COLOR[0] = 0;
COLOR[1] = 0;
COLOR[2] = 143 + index * 8;
}
else if (index > 14 && index <= 14 + 32) 
{
int differ = index - 14;
COLOR[0] = 0;
COLOR[1] = differ * 8;
COLOR[2] = 255;

if (COLOR[1] > 255)  
{
COLOR[1] = 255;
}
}
else if (index > 46 && index <= 46 + 32)  
{
int differ = index - 46;
COLOR[0] = differ * 8;
COLOR[1] = 255;
COLOR[2] = 255 - differ * 8;

if (COLOR[0] > 255)  
{
COLOR[0] = 255;
}

if (COLOR[2] < 0)  
{
COLOR[2] = 0;
}
}
else if (index > 78 && index <= 78 + 32)  
{
int differ = index - 78;
COLOR[0] = 255;
COLOR[1] = 255 - differ * 8;
COLOR[2] = 0;

if (COLOR[1] < 0)
{
COLOR[1] = 0;
}
}
else  
{
int differ = index - 110;
COLOR[0] = 255 - differ * 8;
COLOR[1] = 0;
COLOR[2] = 0;
}

  CPen newPen(PS_SOLID, 2,RGB(COLOR[0], COLOR[1], COLOR[2]));
CPen *pOldPen = pDC->SelectObject(&newPen);
pDC->MoveTo(710, 340-2 * index);
pDC->LineTo(740, 340-2 * index);
newPen.DeleteObject();
pDC->SelectObject(&pOldPen);
}

[解决办法]
色棒又名什么?
[解决办法]
newPen.DeleteObject(); 
pDC->SelectObject(&pOldPen); 
这两句顺序错了!应该是这样:
pDC->SelectObject(&pOldPen); 
newPen.DeleteObject(); 
不然,newPen.DeleteObject(); 会失败的!

[解决办法]
又见fandh,没错你那样写的话,newPen.DeleteObject()是起不到做用的!

热点排行