数学建模社区-数学中国

标题: 颜色渐变的进度条 [打印本页]

作者: 韩冰    时间: 2005-1-26 12:26
标题: 颜色渐变的进度条

在Windows2000开始或关闭的时候,有一条颜色渐变的进度条,很是好看。我们可以用简单的方法制作类似的进度条。用图片移动的方法可以很方便的实现这一功能。

' h+ u, n( ]# i% A3 Z( e

首先用PhotoShop制作图片。新建一张长为300宽为20的空白图片,选择“直线渐变工具”,在选择框里打开渐变编辑器,选择渐变色的时候须注意一点,必须选择最左边的颜色和最右边的颜色相同的渐变色,这里我们选择“橙、黄、橙渐变”;拉颜色的时候一定得从图片的最左边平衡(按住Shift)地拉到图片的最右边,否则两端的颜色不同会影响效果。制作满意后可存储副本为BMP或JPG格式。

8 O$ A5 [/ i! [# G: E5 o 5 T6 }) G! m. G( C4 |* h" O$ J- V

接着用C++ Builder写程序(所有对象名都取默认值)。在窗体上添加一个TPanel对象,把它的BorderStyle设为bsSingle。在Panel1里添加两个Timage对象,两者的Picture属性都指定为刚才我们制作的那张图片。添加一个TTimer对象,把它的Interval属性设为10。

4 g& a# c3 e# V5 F% i

在Form1的Show事件里添加如下代码:

6 A! Z$ p% m; [, x/ d! S( E

Image1->Top =0;

3 s* O7 E: y7 w5 ~5 _9 o

Image1->Left=0;

6 B! _1 Q7 l# e

Image1->Height=Panel1->Height;

) v! k& Z: g" `) Y: r

Image1->Width =Panel1->Width;

* _# L% E9 K+ S2 T# s1 {

Image1->Stretch =true;

/ M" R6 L M. i6 N3 M7 E

Image2->Top =0;

/ h9 ^+ h+ Y. a& K' U

Image2->Left=-Panel1->Width;

# Z1 n; s$ O: ^3 ?% O

Image2->Height=Panel1->Height;

3 U( K$ S5 ?3 P0 ~. i$ c" F: t

Image2->Width =Panel1->Width;

* y" w1 E3 b2 I a4 P

Image2->Stretch =true;

7 y! u. h) G4 M

在Timer1的OnTimer事件里添加如下代码:

% j( J# T. Q0 E# E, W% O4 T, T

Image1->Left++;

' Q3 C' @& P* ~) X; ]3 o

if( Image1->Left==Image1->Width)

) T Y1 i3 |8 j6 {6 y4 ^

Image1->Left=-Image1->Width;

4 Y, E: u/ s: K7 A

Image2->Left++;

; ` y! X7 ` v

if( Image2->Left==Image1->Width)

" _6 ^/ I; _ o9 q1 [6 I. x( ?

Image2->Left=-Image1->Width;






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5