设为首页】 【加入收藏】 【网站地图】 【商品折扣
娱乐一生 娱乐明星
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
首页  |  java  |  .NET  |  C/C++  |  网页技术  |  php  |  asp  |  delphi  |  VC  |  VB开发  |  游戏开发  |  软件工程  |  Power Builder  |  Linux开发  |  Windows开发技巧
当前位置:首页 >> C++教程 >> C++ Builder 使用Canvas对象的属性

C++ Builder 使用Canvas对象的属性 -

6.1.4 使用Canvas对象的属性
使用Canvas对象可以设置用于绘制线条的画笔、用于填充图形的画刷、用于写文本的字体、以及用于显示图像的像素数组等的属性。
下列各节说明以下内容:

· 使用画笔。
· 使用画刷。
· 读取和设置像素。

1.使用画笔
画布的Pen属性控制线条出现的方式,包括用来绘制形状外框的线条。绘制一条直线只不过是更改两个点间的一组像素值。

画笔本身有4个可更改的属性:Color、Width、Style和Mode。
· Color属性:更改画笔的颜色。
· Width属性:更改画笔的宽度。
· Style属性:更改画笔的样式。
· Mode属性:更改画笔的模式。

这些属性的值决定了画笔如何更改线条像素。在缺省时,每个画笔开始时都是黑色,宽度为1个像素、样式为实线,模式为复制,它会覆盖画布上已存在的任何东西。
(1)更改画笔的颜色
在运行时可将画笔的Color属性改为任何所需的值以改变画笔的颜色。画笔的颜色决定了画笔在绘制线条时的线条颜色,包括用来绘制形状边框的线条以及其他线条和折线。要更改画笔的颜色,可设置画笔的Color属性值。

要让用户选择画笔的新颜色,可把颜色网格放到画笔的工具栏中。颜色网格可设置前景和背景的颜色。对无网格的画笔样式,必须考虑用来描绘线与线之间的空隙的背景色。背景色是由画刷的颜色属性而定。
因为用户是通过在网格上单击来选择新的颜色,所以下列代码会在响应OnClick事件时更改画笔的颜色:


(2)更改画笔的宽度
画笔的宽度以像素决定所绘制线条的宽度。当宽度大于1时,不管画笔Style属性值为何,Windows95总是绘制实线。要更改画笔的宽度,设置画笔的Width属性。假定在画笔的工具栏上有一个用于设置画笔宽度的滚动条,并假定需要更新滚动条旁的标签以便给用户提供反馈信息。使用滚动条的位置来决定画笔的宽度,每当位置更改时就更新画笔的宽度。

下列代码说明了如何在滚动条的OnChange事件中处理上述任务:


(3)更改画笔的样式
通过画笔的Style属性可设置实线、虚线、点线等样式。注意Windows95不支持线条宽度超过一个像素时的虚线或点线样式,并会把它们变成实心的,而不管所给定的样式。设置画笔属性是不同控件共享相同事件处理程序的最好示例。检查Sender参数决定到底是哪个控件获得事件。

要创建工具栏上6个画笔样式按钮的单击事件处理程序,可按下列步骤:
1) 全部选定这6个画笔样式按钮,并在对象观察器中选择Events|OnClick事件,并在Handler列中输入SetPe tyle。C++Builder产生一个空的单击事件句柄SetPe tyle,并将其分配给所有6个按钮的OnClick事件。
2) 在单击事件处理程序中根据Sender的值设置画笔的样式,Sender值也就是发送单击事件的控件:


通过给画笔样式按钮的Tag属性中加入画笔样式常数,上面的事件处理程序代码能更进一步被简化。简化后的代码为:


(4)更改画笔的模式
画笔的Mode属性能够指定画笔颜色和画布上颜色组合的方式。如总为黑色,与画布背景相反的颜色或与画笔颜色相反等。细节请参阅TPen的联机帮助。

 



 

娱乐图摘

更多 >>

靓丽清纯美女meimei

美女私房全裸照
导演劝女演员脱衣服(视频)

大胆火辣人体艺术写真(图)

黑丝妹妹热辣诱惑-丝袜美女妹妹

PLMM 漂亮妹妹图集-妹妹图库

全球美女图库-美女集中营

52MM 我爱漂亮妹妹-制服妹妹诱惑

图王图库-世界美女明星图片资料库
美女写真集锦

激情两性-解密性生活
浴室MM湿身内衣诱惑
邻家小妹洗澡被偷拍(视频)

热点文章

更多

· 在C++Builder中使用DLL
· C++ 拖引线示例
· C++ 语言基础(2)
· CRC-16/CRC-32 程序代码
· C++ Builder 可视化组件库(VCL)标准组件 二
· C++的类和类的定义
· C++ Builder 使用Canvas的方法来绘制图形对象
· 高质量C++/C编程指南 -- 第7章 内存管理
· 深度探索C++对象模型(6)
· C++ Builder 在图形中绘制

热点文章

更多