韩冰 发表于 2005-1-26 12:26

颜色渐变的进度条

<P>在Windows2000开始或关闭的时候,有一条颜色渐变的进度条,很是好看。我们可以用简单的方法制作类似的进度条。用图片移动的方法可以很方便的实现这一功能。</P>
<P>首先用PhotoShop制作图片。新建一张长为300宽为20的空白图片,选择“直线渐变工具”,在选择框里打开渐变编辑器,选择渐变色的时候须注意一点,必须选择最左边的颜色和最右边的颜色相同的渐变色,这里我们选择“橙、黄、橙渐变”;拉颜色的时候一定得从图片的最左边平衡(按住Shift)地拉到图片的最右边,否则两端的颜色不同会影响效果。制作满意后可存储副本为BMP或JPG格式。</P>

<P>接着用C++ Builder写程序(所有对象名都取默认值)。在窗体上添加一个TPanel对象,把它的BorderStyle设为bsSingle。在Panel1里添加两个Timage对象,两者的Picture属性都指定为刚才我们制作的那张图片。添加一个TTimer对象,把它的Interval属性设为10。</P>
<P>在Form1的Show事件里添加如下代码:</P>
<P>    Image1-&gt;Top =0;</P>
<P>    Image1-&gt;Left=0;</P>
<P>    Image1-&gt;Height=Panel1-&gt;Height;</P>
<P>    Image1-&gt;Width =Panel1-&gt;Width;</P>
<P>    Image1-&gt;Stretch =true;</P>
<P>     Image2-&gt;Top =0;</P>
<P>    Image2-&gt;Left=-Panel1-&gt;Width;</P>
<P>    Image2-&gt;Height=Panel1-&gt;Height;</P>
<P>    Image2-&gt;Width =Panel1-&gt;Width;</P>
<P>    Image2-&gt;Stretch =true;</P>
<P>在Timer1的OnTimer事件里添加如下代码:</P>
<P>    Image1-&gt;Left++;</P>
<P>    if( Image1-&gt;Left==Image1-&gt;Width)</P>
<P>        Image1-&gt;Left=-Image1-&gt;Width;</P>
<P>     Image2-&gt;Left++;</P>
<P>    if( Image2-&gt;Left==Image1-&gt;Width)</P>
<P>        Image2-&gt;Left=-Image1-&gt;Width;</P>
页: [1]
查看完整版本: 颜色渐变的进度条