初学者,大家帮帮忙吧,谢谢(在线等待)
一个让CAPTION里面的字滚动的LABEL。不过问题是当这些字还没完成一次滚动前,FORM上的其他控件都无法使用,也就是如果这些字反复滚动,那整个FORM上的其他控件都不能使用了,连这个FORM都无法关闭,不知道是不是因为进程的关系?滚动的方法是'beginmove'
unit mylabel;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls;
type
movelabel = class(TLabel)
private
{ Private declarations }
protected
{ Protected declarations }
public
constructor create(aowner:tcomponent);override;
destructor Destroy;override;
procedure beginmove;
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
constructor movelabel.create(aowner:tcomponent);
begin
inherited create(aowner);
alignment:=tacenter;
update;
end;
destructor movelabel.Destroy;
begin
inherited Destroy;
end;
procedure movelabel.beginmove;
var
text_length,i:integer;
begin
if (length(caption)=0) then
caption:='<<<<<滚动的标签控件>>>>>';
text_length:=length(caption);
for i:=0 to text_length do
begin
text:=copy(caption,2,text_length-1);
update;
sleep(500);
end;
end;
procedure Register;
begin
RegisterComponents('Standard', [movelabel]);
end;
end.