最土的办法一定可以实现 procedure Tmainform.Timer1Timer(Sender: TObject); begin if length(StatusBar1.Panels[4].Text)=0 then begin StatusBar1.Panels[4].Text:='@'; exit; end; if length(StatusBar1.Panels[4].Text)=1 then begin StatusBar1.Panels[4].Text:='@@'; exit; end; if length(StatusBar1.Panels[4].Text)=2 then begin StatusBar1.Panels[4].Text:='@@@'; exit; end; if length(StatusBar1.Panels[4].Text)=3 then begin StatusBar1.Panels[4].Text :='@@@阳'; exit; end; if length(StatusBar1.Panels[4].Text)=5 then begin StatusBar1.Panels[4].Text :='@@@阳 光'; exit; end; if length(StatusBar1.Panels[4].Text)=8 then begin StatusBar1.Panels[4].Text :='@@@阳 光 三'; exit; end; if length(StatusBar1.Panels[4].Text)=11 then begin StatusBar1.Panels[4].Text:='@@@阳 光 三 月'; exit; end; if length(StatusBar1.Panels[4].Text)=14 then begin StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工'; exit; end; if length(StatusBar1.Panels[4].Text)=17 then begin StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作'; exit; end; if length(StatusBar1.Panels[4].Text)=20 then begin StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室'; exit; end; if length(StatusBar1.Panels[4].Text)=23 then begin StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制'; exit; end; if length(StatusBar1.Panels[4].Text)=26 then begin StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作'; exit; end; if length(StatusBar1.Panels[4].Text)=29 then begin StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作@'; exit; end; if length(StatusBar1.Panels[4].Text)=30 then begin StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作@@'; exit; end; if length(StatusBar1.Panels[4].Text)=31 then begin StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作@@@'; timer1.Interval:=1300; exit; end; if length(StatusBar1.Panels[4].Text)=32 then begin StatusBar1.Panels[4].Text:=''; timer1.Interval:=300; exit; end;
安你的方法
color的颜色
将如何克服变化过渡问题呢
在 timer控件中的事件中写如下的语句:
StatusBar1.Panels.Items[0].Text:=' '+StatusBar1.Panels.Items[0].Text;
将如何克服变化过渡问题呢
不太会渐变效果
procedure Tmainform.Timer1Timer(Sender: TObject);
begin
if length(StatusBar1.Panels[4].Text)=0 then
begin
StatusBar1.Panels[4].Text:='@';
exit;
end;
if length(StatusBar1.Panels[4].Text)=1 then
begin
StatusBar1.Panels[4].Text:='@@';
exit;
end;
if length(StatusBar1.Panels[4].Text)=2 then
begin
StatusBar1.Panels[4].Text:='@@@';
exit;
end;
if length(StatusBar1.Panels[4].Text)=3 then
begin
StatusBar1.Panels[4].Text :='@@@阳';
exit;
end;
if length(StatusBar1.Panels[4].Text)=5 then
begin
StatusBar1.Panels[4].Text :='@@@阳 光';
exit;
end;
if length(StatusBar1.Panels[4].Text)=8 then
begin
StatusBar1.Panels[4].Text :='@@@阳 光 三';
exit;
end;
if length(StatusBar1.Panels[4].Text)=11 then
begin
StatusBar1.Panels[4].Text:='@@@阳 光 三 月';
exit;
end;
if length(StatusBar1.Panels[4].Text)=14 then
begin
StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工';
exit;
end; if length(StatusBar1.Panels[4].Text)=17 then
begin
StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作';
exit;
end;
if length(StatusBar1.Panels[4].Text)=20 then
begin
StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室';
exit;
end;
if length(StatusBar1.Panels[4].Text)=23 then
begin
StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制';
exit;
end;
if length(StatusBar1.Panels[4].Text)=26 then
begin
StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作';
exit;
end;
if length(StatusBar1.Panels[4].Text)=29 then
begin
StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作@';
exit;
end;
if length(StatusBar1.Panels[4].Text)=30 then
begin
StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作@@';
exit;
end;
if length(StatusBar1.Panels[4].Text)=31 then
begin
StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作@@@';
timer1.Interval:=1300;
exit;
end;
if length(StatusBar1.Panels[4].Text)=32 then
begin
StatusBar1.Panels[4].Text:='';
timer1.Interval:=300;
exit;
end;
label1.Left:=label1.Left+5;
label1.Font.Color:=label1.Font.Color+1;
不好
楼上的兄弟你有没有是过 font.color+1 的效果很差的啦
要不然我也就不问了
var r0,g0,b0,r1,g1,b1:byte;
r,g,b:array[0..255] of byte;
color:array[0..255] of Tcolor;
i:integer;
r0 := GetRValue(color0);
g0 := GetGValue(color0);
b0 := GetBValue(color0);
r1 := GetRValue(color1);
g1 := GetGValue(color1);
b1 := GetBValue(color1);
for i:=0 to 255 do
begin
r[i] := ( i * r0 + (255-i) * r1) DIV 256;
g[i] := ( i * g0 + (255-i) * g1) DIV 256;
b[i] := ( i * b0 + (255-i) * b1) DIV 256;
color[i] := RGB(r,g,b);
end;滚动:
OnTimer:
Timer.Tag := Timer.Tag +1;
OnDrawPanel:
StatusBar.pCanvas.FillRect(Rect);
StatusBar.pCanvas.Font.Color := color[Timeer.Tag MOD 256];
StatusBar.Canvas.TextOut(Timer.Tag MOD Rect.Width(), Rect.Top, "Text");
x,y,z分别是红(red),绿(Green),蓝(Blue)。把xyz和component的坐标按照需要的算法绑定,就可以得到任意的渐变效果了。eg:x=Label1.Left * 10;……