高分求购:类似Win2000登录窗口上部的“色彩渐进”进度条控件或代码。

解决方案 »

  1.   

    靠,就是色彩渐变啊,用Panel就可以了。
      

  2.   

    各位看准了呵~~~ 单独实现色彩渐变的控件我手头也有,但不能实现Win2000登录窗口的效果,Win2000的效果如下:    1.不是百分比形式的;
        2.分段渐变,循环滚动。  各位按 ALT+CTRL+DEL 看一看啦,对了,我说的Win2000拉~~~~ :)
      

  3.   

    不是一回事阿,用Panel直接搞定阿,设置一个定时器阿,每触发一次就给Panel重新绘制一次颜色,不久看起来象是滚动的了阿
      

  4.   

    to Linux2001(我想买手提电脑啊!) :你那是什么效果呀??是从左向右循环滚动的渐变色吗??你要能实现,贴代码大家瞧瞧!!
      

  5.   

    写了一个最简单的给你看看
    unit MyGraphicControl;
    interface
    uses
      Windows, Messages, SysUtils, Classes, Controls,Graphics;
    type
      TMyGraphicControl = class(TGraphicControl)
      private
        Fposition: integer;
        procedure Setposition(const Value: integer);
        { Private declarations }
      protected
        { Protected declarations }
      public
        property position: integer read Fposition write Setposition;
        { Public declarations }
      published
        { Published declarations }
      end;
    procedure Register;
    implementation
    procedure Register;
    begin
      RegisterComponents('Z-Component', [TMyGraphicControl]);
    end;
    { TMyGraphicControl }
    procedure TMyGraphicControl.Setposition(const Value: integer);
    var
      islen,ielen,bFPosition: integer;
    begin
      bFposition := Fposition;
      Fposition := Value;
      Canvas.Brush.Color := RGB(0,0,round(Fposition*2.55));
      islen := self.Width div 100 * bFposition;
      ielen := self.Width div 100 * (Fposition);
      if fposition <> 100 then
        Canvas.FillRect(rect(islen,0,ielen,self.Height))
      else
        Canvas.FillRect(rect(islen,0,self.Width ,self.Height))
    end;
    end.procedure TForm1.Button1Click(Sender: TObject);
    var
      i: integer;
    begin
      for i := 1 to 10 do
      begin
        MyGraphicControl1.position := i*10;
        application.ProcessMessages;
        sleep(200);
      end;
    end;
      

  6.   

    做一张图片,然后改变他的width值!
      

  7.   

    to dancedog(猪熔鸡):你的代码根本达不到题目要求的效果呀,建议你重启Win2000看一下登录窗口,我不是要普通的渐变进度条,而是Win2000登录窗口的那种!
    很感谢你的帮助,可为什么不看懂题目后再答覆呢?
      

  8.   

    你是说的类似win98 启动logo下面那个滚动的色彩条吗?如果是那个条,那么它不是通过重画这个条来实现的,而是通过修改这个条的调色板做到的,循环移位这个调色板的各个颜色,画面的就会出现那个滚动的色条。
      

  9.   

    pazee(耙子)(三个代表) :  是呀老大,感谢上帝,终于出现一个理解题目意思的朋友 :)  如果能告诉我怎么实现,就更好了!!
      

  10.   

    to ccll (不会就问):你仔细观察一下,其实也就是一张图片在滚动而已。
      

  11.   

    那个彩条最早用在95的启动logo里面,
    我很早以前做过一个类似的东西,现在都忘了,
    大致说一下,
    自己创建一个带调色板的DC,
    装入图片,设置调色板,
    比如那各色条是16色的,那么就在调色板里面把这16色,循环移动,
    比如开始是 12345678 ,下一次变成 23456781,在下一次变成34567812……
    在调色板中移动的颜色不是全部,只是你需要的那一部分,其余不不变,不然满屏幕都跟着变色了。由于调色板的变化,图片上对应调色板的颜色编号,就对跟着变化,感觉就像那个彩条在闪烁,我一看看过一本BC OWL的书,里面的例子就是做一些星星,模拟它闪烁。这只是个思路,你自己找找相关的资料吧。
      

  12.   

    给你写了一个看看行不行
    http://snpack.fykj.com/download/Project1.exehttp://snpack.fykj.com/download/Project2.exe行的话我就给你代码。
      

  13.   

    to sncel(地狱情人-杨勇): 效果还好,方便的话给我一份,发到[email protected],收到后给分,也该结贴了 :)  谢谢!
      

  14.   

    做个GIF图像,放到你的程序里,不知道行不行?(使用TGifImage)
      

  15.   

    我也是下载来看了一下,不错能也给我一份吗?to  [email protected]
    先谢谢你哟
      

  16.   

    已发了,结账吧。
    http://expert.csdn.net/Expert/topic/1585/1585074.xml?temp=.4151728