Symbian开发中滚动广告效果的制作方法
2010-05-31 20:03:00 来源:WEB开发网之前曾经有过制作屏幕滚动广告效果的需求,现在将制作的方法和大家分享一下,有需要的同志可以借鉴,以便之后开发出更加适合自己需求的滚动广告效果。本人将其制作成了一个控件,可以在屏幕需要的任何位置进行摆放,可操作性强,希望能对大家有帮助。
先介绍一下头文件的部分,如下:
1class CScrollLabel : public CEikLabel // 公共继承自CEikLabel类
2{
3public:
4 CScrollLabel(); // 构造函数
5 ~CScrollLabel();// 析构函数
6Public:
7 void Draw(const TRect& aRect) const; //重写绘图函数
8 void SetTextL(const TDesC& aText); //重写CEikLabel的文本设置函数
9 void Start(); //用于启动滚动的方法
10 void SetBackgroundColor(TRgb aColor); //用于设置滚动广告控件的背景颜色
11 void SetExtent(const TPoint &aPosition, const TSize &aSize); // 设置摆放的区域和控件本身的大小
12private:
13 //定时器回调函数,他是一个静态的函数,参数是一个函数指针,
14 static TInt Tick(TAny* p);
15 void DoScroll(); //滚动文本动作的执行函数
16 TBool IsNeedScroll(); //判断滚动是否完成,返回值是一个TBool 类型
17private:
18 HBufC* iText; //保存要显示的文本,不知道具体的文本大小,选用HbufC描述符
19 TPoint iStarPoint; // 起始位置的属性值,标注起始位置
20 TSize iLabelSize; // 控件本身的大小
21 CPeriodic* iPeriodicTimer; //定时器类,指定循环播放的周期
22 TRgb iBackgroundColor; //背景颜色的属性值,可以手动进行设置
23};
24
接着介绍CPP文件部分,头文件函数的实现部分,如下:
1#include "ScrollLabel.h"
2#include
3#define SCROLL_INTERVAL 100000 // 定义滚动的时间间隔常量为100毫秒
4
5CScrollLabel::CScrollLabel() :iBackgroundColor(KRgbWhite)
6 {
7 }
8CScrollLabel::~CScrollLabel()
9 {
10 if (iText)
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››Symbian S60 SocketConnection参数
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
更多精彩
赞助商链接