如何实现标题的跑马灯效果?

flashstar 2004-11-04 04:57:17
如题,实现的效果是:
1. 如何实现标题的跑马灯效果?
2. 何实现标题的跑马灯效果? 如
3. 实现标题的跑马灯效果? 如何
4. 现标题的跑马灯效果? 如何实
.............
就是这样的。
...全文
234 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashstar 2004-11-05
  • 打赏
  • 举报
回复
真是感谢各位!
马上结贴!
happyct 2004-11-05
  • 打赏
  • 举报
回复
在while循环里面的最底部再加上Sleep(500);
happyct 2004-11-05
  • 打赏
  • 举报
回复
修改一下
tmpStr = str.SubString(i-2,Len);
tmpStr += tmpStr + str.SubString(1,i-2);
happyct 2004-11-05
  • 打赏
  • 举报
回复
如果都是2字节(或是1字节的字母、标点)的文字好办些,建议你放在线程里面处理

String str = "如何实现标题的跑马灯效果?"

int Len = str.Length();
String tmpStr;
int i = 0;
while(!Terminated)
{
i += 2; //如果都是1字节的则为1,后面的2全部换成1
tmpStr = str.SubString(i,Len);
tmpStr += tmpStr + str.SubString(1,i-2);
if(i == Len-2)
i = 0;
//输出标题tmpStr
}

我随便写的。如果有错,你拿去修改一下,肯定可以

Maconel 2004-11-05
  • 打赏
  • 举报
回复
在定时器里这么写:
WideString wsCaption = this->Caption;
wsCaption = wsCaption.SubString(2, wsCaption.Length()-1) + wsCaption.SubString(1, 1);
this->Caption = wsCaption;
flashstar 2004-11-05
  • 打赏
  • 举报
回复
楼上的方法是不行的.因为这个标题的长度是不定的,不知道有多长.而且在移动的过程中会出现乱码.
milkwayhong 2004-11-04
  • 打赏
  • 举报
回复
AnsiString caption[12];
caption[0]="如何实现标题的跑马灯效果? "
caption[1]="何实现标题的跑马灯效果?如"
......
for(int i=0;i<13;i++)
{
Label1->Caption = Caption[i];
i++;
i=i%13;
sleep(1000);//间隔时间1000为1s
}
有哥 2004-11-04
  • 打赏
  • 举报
回复
如果觉得移动字符浪费时间的话,可以用空间换时间,直接定义在数组中,逐个赋值给Caption
有哥 2004-11-04
  • 打赏
  • 举报
回复
最简单的,设为Label的Caption,先在字符串后面加几个空格,用计时器逐渐把首字符移到尾部,循环赋给Label的Caption
flashstar 2004-11-04
  • 打赏
  • 举报
回复
前面的标号是不用的

13,873

社区成员

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

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