游客已登陆 (0)未知
笔行证 257310
昵称 kuan 
笔贝 Score1
加为好友 发送短信
<< << 2009 一月 >> >>
123
45678910
11121314151617
18192021222324
25262728293031

访问计数:26962
本文:780 今天:1 本月 780

本地音乐播放器



 
       CBrush类
2007-06-29 晴



如果需要用颜色或者图案对一个封闭的图形内部进行填充,就要使用画刷,
画刷是CBrush类的对象,明智来填充封闭图形内部的工具.

原型:
CBrush(COLORREF color);

CBrush(int style, COLRREF color);
[非站内图片]

CBrush类 style的可选值
填充样式 说明
HS_BDIAGONAL 以自左下角至右上角的45度斜线填充
HS_CROSS 以十字交叉线填充
HS_DIAGCROSS 以互相交叉线填充
HS_FDIAGONAL 以自左上角至右下角的45度斜线填充
HS_HORIZONTAL 以水平线填充
HS_VERTICAL 以垂直填充



与画笔一样,创建之后,要用 CBursh *SelectObject(CBrush *pBrush);把画刷选入设备描述环境.

void CMy4_4View::OnDraw(CDC* pDC)
{
CMy4_4Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
int red=0,green=0,blue=0;
int row=20;

for(int s=0; s<6; s++)
{
int color=RGB(red,green,blue);
CBrush newBrush(color);
CBrush *oldBrush=pDC->SelectObject(&newBrush);
pDC->Rectangle(20,row,200,row+20);
pDC->SelectObject(oldBrush);
red+=34;
green+=16;
blue+=4;
row+=30;
}

int styles[]={HS_BDIAGONAL,
HS_CROSS,
HS_DIAGCROSS,
HS_FDIAGONAL,
HS_HORIZONTAL,
HS_VERTICAL,
};
row=20;
for(s=0; s<6; s++)
{
CBrush newBrush(styles[s],RGB(244,0,0));
CBrush *oldBrush=pDC->SelectObject(&newBrush);
pDC->Rectangle(220,row,400,row+20);
pDC->SelectObject(oldBrush);
row+=30;
}
}


[非站内图片].
# posted by kuan @ 2007-06-29 14:49:31 评论(0)
 








 
笔 名:
*
评 论:
最多1000字。当前字数:0
*
联系方式: