Delphi canvas问题 10
如何让canvas随着现在画的位置,移动里面的内容(类似于Flash),而不会出现超出边界时就看不到的情况。如过delphi自带canvas不能实现,那么有没有更好的控件...
如何让canvas随着现在画的位置,移动里面的内容(类似于Flash),而不会出现超出边界时就看不到的情况。如过delphi自带canvas不能实现,那么有没有更好的控件呢?
展开
2个回答
展开全部
给你个文字滚动的例子 希望对你有帮助 望采纳!
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//文字从右到左滚动
label1.Left := label1.Left-2 ;
if label1.Left+Label1.Width <1 then
label1.Left := form1.Width ;
//文字从上到下滚动
label2.top := label2.top-1;
if label2.Top+label2.Height<1 then
label2.Top := form1.Height;
//文字从左到右滚动
if label3.Left>form1.Width then
label3.Left := 0-label2.Width
else
label3.Left := label3.Left+2;
//文字从下到上滚动
if label4.Top>form1.Height then
label4.Top := 0-label4.Height
else
label4.Top := label4.Top+1;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Label2.Caption := '字'+#13+'幕'+#13+'滚'+#13+'动';
label3.Left := 0-label2.Width;
Label4.Caption := '动'+#13+'滚'+#13+'幕'+#13+'字';
label4.Top := 0-label2.Height;
label2.Width := 16;
label4.Width := 16;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//文字从右到左滚动
label1.Left := label1.Left-2 ;
if label1.Left+Label1.Width <1 then
label1.Left := form1.Width ;
//文字从上到下滚动
label2.top := label2.top-1;
if label2.Top+label2.Height<1 then
label2.Top := form1.Height;
//文字从左到右滚动
if label3.Left>form1.Width then
label3.Left := 0-label2.Width
else
label3.Left := label3.Left+2;
//文字从下到上滚动
if label4.Top>form1.Height then
label4.Top := 0-label4.Height
else
label4.Top := label4.Top+1;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Label2.Caption := '字'+#13+'幕'+#13+'滚'+#13+'动';
label3.Left := 0-label2.Width;
Label4.Caption := '动'+#13+'滚'+#13+'幕'+#13+'字';
label4.Top := 0-label2.Height;
label2.Width := 16;
label4.Width := 16;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询