注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

快乐的机器猫 大桥加加网易分站

要有更宽广的视野和胸怀

 
 
 

日志

 
 

C++ builder里写一个渐变条  

2009-12-25 09:28:20|  分类: 计算机软件学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 1. 原理

先在photoshop中, 画一个渐变条, 例如300*20 pixels, 存成bmp

图1: 渐变条的效果

C++ builder里写一个渐变条 - huasoft - 快乐的机器猫 小桥加加网易分站

在C++ BUILDER6中, 我们放1个TPanel做我们进度条的容器, 放2个Image控件,都load进刚才那个渐变的图片

原理是: 将Image1 设为TPanel一样的大小一样的位置, 将image2平行排在TPanel左边恰好相接, 然后设一个timer(Interval属性设为10),  将Image1和Image2整体向右一点一点移动, 无论是Imgae1或Image2完全移出TPanel,都将自己的位置移到TPanel左边, 这样实现视觉上的平滑。

图2: 窗体的设计

C++ builder里写一个渐变条 - huasoft - 快乐的机器猫 小桥加加网易分站

图3:运行效果

C++ builder里写一个渐变条 - huasoft - 快乐的机器猫 小桥加加网易分站

2 代码

void __fastcall TForm1::FormShow(TObject *Sender)
{
        Image1->Top=0;
        Image1->Left = 0;
        Image1->Height = Panel1->Height;
        Image1->Width = Panel1->Width;
        Image1->Stretch = true;

        Image2->Top=0;
        Image2->Left = -Panel1->Width;
        Image2->Height = Panel1->Height;
        Image2->Width = Panel1->Width;
        Image2->Stretch = true;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
        Image1->Left +=1;
        if(Image1->Left == Image1->Width)
                Image1->Left = -Image1->Width;

        Image2->Left +=1;
        if(Image2->Left == Image1->Width)
                Image2->Left = -Image1->Width;

}

  评论这张
 
阅读(385)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017