数学建模社区-数学中国

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

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

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

) W( K$ B3 S1 W

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

3 t3 S2 m6 _8 D" |4 Y( p3 \9 V 1 E, E# c. o: a

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

9 g0 ? q; k& n4 y+ i% h9 A

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

/ F9 T8 J! z& W6 K

Image1->Top =0;

+ g5 e" H& Z8 `! Y4 a( Q

Image1->Left=0;

5 M# v0 q: J8 r8 e& [" |4 N

Image1->Height=Panel1->Height;

2 {3 W- D* i( Q7 h

Image1->Width =Panel1->Width;

) f: t" |3 c& R* Z

Image1->Stretch =true;

: N9 f" Q$ X- r/ R3 J: j( e3 j

Image2->Top =0;

4 T0 f( s7 k# ~6 j

Image2->Left=-Panel1->Width;

, O" z* `. \9 { ?- E

Image2->Height=Panel1->Height;

3 S3 B- s; A# k; x1 }- v- Z

Image2->Width =Panel1->Width;

- E4 F# E; J; a j/ X* {7 T

Image2->Stretch =true;

M6 f* d* `3 t8 Z9 s

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

# p' T5 z# ]/ t6 Z3 Q# ^$ H

Image1->Left++;

5 p" ^8 |) {. |0 a6 h/ i

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

" h. [) D$ m! ^/ Z& X! y

Image1->Left=-Image1->Width;

5 p: ^# n3 J! p7 F7 z! J, d

Image2->Left++;

* g" r# g9 T- C

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

. E& K' t" m9 ~/ f& `2 {

Image2->Left=-Image1->Width;






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