手机
当前位置:查字典教程网 >手机 >手机技巧 >Symbian自定义控件—如何实现跑马灯效果
Symbian自定义控件—如何实现跑马灯效果
摘要:网上的算法很多,但我只提供一个最笨,最简单,但最有效的方法去做:比如你要一行要显示4个字母的长度,显示的信息为"ABCDE",1秒钟为其更新...

网上的算法很多,但我只提供一个最笨,最简单,但最有效的方法去做:

比如你要一行要显示4个字母的长度,显示的信息为"ABCDE",1秒钟为其更新速度

那么我们可以紧挨着放置4个LABEL,LABEL1,LABEL2,LABEL3,LABEL4设置好他们的位置

然后算法如下:

1.获取要显示的信息并存入数组里

TBuf<10> iSourceData = _L("ABCDE");

CDesCArray* aDataArray = new (Eleave) CDesCArrayFlat(10);

CleanupStack::PushL(aDataArray);

for(TInt i = 0; i< P>

{

aDataArray->AppendL(iSourceData[i]);

}

2.以下为跑马灯的具体实现:

在头文件定义:

TInt j = 0;

TInt a=0;b=1;c=2;d=3;

以下需放在活动对象的RunL()里执行

if(a < aDataArray->Count())

{

LABEL1->SetTextL((*aDataArray)[a]);

}

else

{

LABEL1->SetTextL(_L(""));

}

if(a < aDataArray->Count()+2)

{

a++;

}

else

{

a=0;

}

if(b < aDataArray->Count())

{

LABEL2->SetTextL((*aDataArray)[b]);

}

else

{

LABEL2->SetTextL(_L(""));

}

if(b< aDataArray->Count()+2)

{

b++;

}

else

{

b=0;

}

if(c< aDataArray->Count())

{

LABEL3->SetTextL((*aDataArray)[c]);

}

else

{

LABEL3->SetTextL(_L(""));

}

if(c< aDataArray->Count()+2)

{

c++;

}

else

{

c=0;

}

if(d< aDataArray->Count())

{

LABEL4->SetTextL((*aDataArray)[d]);

}

else

{

LABEL4->SetTextL(_L(""));

}

if(d< aDataArray->Count()+2)

{

d++;

}

else

{

d=0;

}

waitOneSend(); //等待一秒钟的操作

记得退出页面得调用活动对象Cancel()方法

【Symbian自定义控件—如何实现跑马灯效果】相关文章:

如何玩转谷歌积木手机

好车贷APP怎么用? 好车贷APP详细图文教程

华硕zenfone2国行版去哪买?国行zenfone2预约购买地址

华为p8处理器怎么样?

MOTO X国行多少钱

手机短信怎样批量删除

魅蓝note联通版配置如何?

魅族MX4 Pro自己动手修复home键失灵

手机拍照中ISO是什么意思?手机照片ISO介绍

小米4怎么安装sim卡

精品推荐
分类导航