急!! 如何实现Label控件中的字体滚动

guzhutt 2005-10-18 02:19:32
想用Label控件实现字体滚动,就想在电视里面下面显示的飞字效果,麻烦哪位大哥告诉怎么实现?
...全文
409 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Maconel 2005-11-24
  • 打赏
  • 举报
回复
BCB提供CppWebBrowerser控件,它可以显示一个网页,插gif或flash都行,也可以用html实现文字滚动,当然这不是个好方法,但是是个简单方法。
Leighf 2005-11-23
  • 打赏
  • 举报
回复
楼上的有代码可供提示的么,谢了。
panet 2005-11-23
  • 打赏
  • 举报
回复
用timer控件,然后改变label的left,不过总是有点闪的感觉
alloutoflove 2005-11-23
  • 打赏
  • 举报
回复
用一个PaintBox使用内存DC缓冲绘制可以解决闪的问题...
Leighf 2005-11-23
  • 打赏
  • 举报
回复
唉,做出来的质量一点也不好,会闪,难看死了。
linkboy2004 2005-11-23
  • 打赏
  • 举报
回复
弄个gif控件简单多拉
kmfangxun 2005-11-23
  • 打赏
  • 举报
回复

void __fastcall TForm1::Button1Click(TObject *Sender)
{
//this->DoubleBuffered=true;
this->Label1->Caption="";
TRect rect=Label1->ClientRect;
TRect trect=rect;
FContinue=true;

Label1->Font->Size=40;
while(FContinue)
{
for(int x=Label1->ClientRect.Left;x< Label1->ClientRect.Right;x++)
{
if(!FContinue)
break;
trect.Left=x;
Label1->Canvas->TextOutA(trect.Left,trect.Top,Edit1->Text.Trim());
Sleep(30);
Application->ProcessMessages();
this->Label1->Invalidate();
}

for(int x=Label1->ClientRect.Right;x > Label1->ClientRect.Left-Label1->Canvas->TextWidth(Edit1->Text.Trim()) ;x--)
{
if(!FContinue)
break;

trect.Left=x;
Label1->Canvas->TextOutA(trect.Left,trect.Top,Edit1->Text.Trim());
Sleep(30);
Application->ProcessMessages();
this->Label1->Invalidate();
}
}

}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button2Click(TObject *Sender)
{
FContinue=false;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
FContinue=false;
}
//---------------------------------------------------------------------------
wenyongjie 2005-11-23
  • 打赏
  • 举报
回复
一个比较简单的方法,就是通过timer控件控制label控件的位置,
把label的透明属性设置成true
在timer事件里
label1->Top++;
if(label1->Top==Form1->Height-100)
label1->Top=50;

自己运行调试吧
xibingwuqing 2005-10-19
  • 打赏
  • 举报
回复
谢谢所有楼上的,学习
hejhua 2005-10-19
  • 打赏
  • 举报
回复
http://www.chinaitpower.com/A200508/2005-08-07/186018.html
在这个网站上有专业的介绍,如何插入flash动画,过程太多了,我就不写下来了。
gxb110 2005-10-19
  • 打赏
  • 举报
回复
除了用timer做,还有好的方法吗,我是初学者,教教我吧,多谢啦!
XBox360 2005-10-19
  • 打赏
  • 举报
回复
嵌入GIF可以找找其他控件
其实可以用timer来做,不过效果估计不太好
girlgxp 2005-10-18
  • 打赏
  • 举报
回复
bcb里面又一个Activx可以添加flash这样的控件的 我试过
houing_0123 2005-10-18
  • 打赏
  • 举报
回复
用一个比较简单的方法,就是通过timer控件控制label控件的位置,在timer事件中改变位置就行了啊,那样就有滚动的效果了啊,而且超出Form窗体的部分也显示不出来
guzhutt 2005-10-18
  • 打赏
  • 举报
回复
BCB是可以嵌入gif flash的
guzhutt 2005-10-18
  • 打赏
  • 举报
回复
谢谢各位!
xibingwuqing 2005-10-18
  • 打赏
  • 举报
回复
不知道BCB可不可以嵌入gif,flash之类的东东
donwmufromdying 2005-10-18
  • 打赏
  • 举报
回复
笨办法就是用字符数组,在timer里不停滚动
rainfall19831109 2005-10-18
  • 打赏
  • 举报
回复
没什么好的办法...
自己一个个处理吧...
把要输出的字符串放到一个变量中
用TIMER,隔段时间就改变Label的Caption

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧