在Windows2000开始或关闭的时候,有一条颜色渐变的进度条,很是好看。我们可以用简单的方法制作类似的进度条。用图片移动的方法可以很方便的实现这一功能。
首先用PhotoShop制作图片。新建一张长为300宽为20的空白图片,选择“直线渐变工具”,在选择框里打开渐变编辑器,选择渐变色的时候须注意一点,必须选择最左边的颜色和最右边的颜色相同的渐变色,这里我们选择“橙、黄、橙渐变”;拉颜色的时候一定得从图片的最左边平衡(按住Shift)地拉到图片的最右边,否则两端的颜色不同会影响效果。制作满意后可存储副本为BMP或JPG格式。
9 d7 H2 w3 y) ~2 j, ^接着用C++ Builder写程序(所有对象名都取默认值)。在窗体上添加一个TPanel对象,把它的BorderStyle设为bsSingle。在Panel1里添加两个Timage对象,两者的Picture属性都指定为刚才我们制作的那张图片。添加一个TTimer对象,把它的Interval属性设为10。
在Form1的Show事件里添加如下代码:
9 ^" K# p6 T; G. d$ y' e0 tImage1->Top =0;
% x3 P8 u9 D" o) M, k: e) d. vImage1->Left=0;
Image1->Height=Panel1->Height;
Image1->Width =Panel1->Width;
6 z {2 V+ O+ M1 ^% I8 k$ v" z9 Q5 aImage1->Stretch =true;
Image2->Top =0;
Image2->Left=-Panel1->Width;
, a( [$ h; o- k7 G. jImage2->Height=Panel1->Height;
8 k5 N* d* G/ i7 d! i6 wImage2->Width =Panel1->Width;
, E+ F9 I- G8 S# yImage2->Stretch =true;
" M5 G; E$ w. F- I+ p1 X+ E7 d) N在Timer1的OnTimer事件里添加如下代码:
% D% }. X! }5 W1 e0 yImage1->Left++;
if( Image1->Left==Image1->Width)
Image1->Left=-Image1->Width;
& q+ s. g( k5 j2 ^5 ?) x& SImage2->Left++;
9 D/ W+ _! P; y" Xif( Image2->Left==Image1->Width)
Image2->Left=-Image1->Width;
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |