DELPHI 在标签里写几个字左右滚动
我想在DELPHI里,在label里写几个字,然后让label在panel组件里左右滚动,好像也要用到time组件,请问高手怎样设计,怎么写代码?你们说的思路我都知道,就...
我想在DELPHI里,在label里写几个字,然后让label在panel组件里左右滚动,好像也要用到time组件,请问高手怎样设计,怎么写代码?
你们说的思路我都知道,就是没有一个具体写一下代码的,哎....只向一个方向移动,我也能做到,不过就是左右循环移动。 展开
你们说的思路我都知道,就是没有一个具体写一下代码的,哎....只向一个方向移动,我也能做到,不过就是左右循环移动。 展开
展开全部
一般在OnTimer中写代码
var
i: integer;
begin
toplabel.Canvas.Brush.Color := toppanel.Color;
toplabel.canvas.Pen.mode := pmXor;
toplabel.Canvas.FillRect(Rect(0, 0, toplabel.Width, toplabel.Height));
toplabel.Tag := toplabel.Tag - 1;
i := toplabel.Tag;//Tag=0
if i < -toplabel.Canvas.TextWidth('滚动字幕') then
toplabel.Tag := toplabel.Width;
toplabel.Canvas.TextOut(i, 1, '滚动字幕');
end;
这个例子是字体从左到右循环出现。如果是左右滚动需要改动下
var
i: integer;
begin
toplabel.Canvas.Brush.Color := toppanel.Color;
toplabel.canvas.Pen.mode := pmXor;
toplabel.Canvas.FillRect(Rect(0, 0, toplabel.Width, toplabel.Height));
toplabel.Tag := toplabel.Tag - 1;
i := toplabel.Tag;//Tag=0
if i < -toplabel.Canvas.TextWidth('滚动字幕') then
toplabel.Tag := toplabel.Width;
toplabel.Canvas.TextOut(i, 1, '滚动字幕');
end;
这个例子是字体从左到右循环出现。如果是左右滚动需要改动下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是我来写的话,我的思路是在panel容器中放入一个label,可以用timer组件来不断的移动label,当label的left或right到达容器边缘时,在向另一方向移动。或者你不用timer组件用线程做循环移动也可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用不用TIME都成。
用循环,处理LABEL的坐标变化。循环里可以加个TIME,用于控制移动的时间。
代码......
for,查查帮忙吧。
用到LEFT属性。
用循环,处理LABEL的坐标变化。循环里可以加个TIME,用于控制移动的时间。
代码......
for,查查帮忙吧。
用到LEFT属性。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用RZ的控件就可以了。RAIZE 控件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询