label1.Top:=panel1.Top+panel1.Height
有问题吧,label1是在panel里面吗?是的话,就有问题了。
如果你需要的效果是,label1 在panel1里面,从下往上跑,到顶从下面重新跑的话,那这句就要改成 if label1.top <=0 then
label1.Top:=panel1.Height-label1.height
就可以实现循环从下到上移动显示
我在机子上测试过的,OK的话希望采纳
在form上放置一个标签,标签上写欢迎词然后设置个时钟,让标签每秒向左滚动一定像素就好了
Timer控件的Interval设为20,OnTimer事件代码如下
procedure TForm1.Timer1Timer(Sender: TObject)
begin
Label1.Left := Label1.Left - 1
if Label1.Left + Label1.Width = 0 then
Label1.Left := Form1.Width
end
设置窗体标题为“流动字幕板”。
添加标签组件,设置标题为“hello,everyone”,将visible属性设置false。
添加d出式菜单,添加“从左下到右上”、“从右下到左上”、“停止”、“退出”四个菜单项,并设置菜单项中加速键和快捷键。
添加时钟组件,将Enable设置为False。
5. 编写代码如下:
//在 public 段,添加 ChioceType: Integerprocedure TForm1.mniExitClick(Sender: TObject)
begin
Close
end
procedure TForm1.mniLeftToRightClick(Sender: TObject)
begin
Timer1.Enabled := False
ChioceType := 1
Timer1.Enabled := True
end
procedure TForm1.mniRightToLeftClick(Sender: TObject)
begin
Timer1.Enabled := False
ChioceType := 2
Timer1.Enabled := True
end
procedure TForm1.mniStopClick(Sender: TObject)
begin
Timer1.Enabled := False
end
procedure TForm1.Timer1Timer(Sender: TObject)
var curX,curY: Integer
begin
if ChioceType = 1 then
begin
//从左下到右上
curX := Label1.Left + 5
if curX > Width-Label1.Width then curX := Width-Label1.Width
curY := Label1.Top - 5
if curY < 5 then curY := 5
end
else if ChioceType = 2 then
begin
//从右下到左上
curX := Label1.Left - 5
if curX < 5 then curX := 5
curY := Label1.Top - 5
if curY < 5 then curY := 5
end
Label1.Left := curX
label1.Top := curY
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)