Symbian应用程序更换系统控件背景
来源:互联网 发布:java 调用chart.js 编辑:程序博客网 时间:2024/05/17 01:40
很多开发者都会为界面、控件而发愁。
其中,对系统控件的运用是开发者纠结最多的问题。
每个平台都有自己的系统控件,系统控件是由系统开发商开发的,各个方面都很成熟,节省开发时间。
但也有很严重的问题,如:界面陈旧,很难进行定制与修改。
如果自己写控件会很耗时、耗力,而且效果一般(有限的设计、美工与开发时间)。
熟练应用各种系统控件对快速开发很有帮助。
//实例化各工具类
MAknsSkinInstance* skin =AknsUtils::SkinInstance();
CAknsItemDef* def;
//实际的操作很简单,就两步。
//修改CBA背景——KAknsIIDQsnBgAreaControl是CBA的索引,换哪一部分的背景就用哪一部分索引。
//fileName图片文件路径,aCbaIndex为待替换的CBA图片索引。
def =AknsUtils::CreateBitmapItemDefL(KAknsIIDQsnBgAreaControl, fileName, aCbaIndex);
skin->SetLocalItemDefL(def);
//菜单弹出后的CBA
def =AknsUtils::CreateBitmapItemDefL(KAknsIIDQsnBgAreaControlPopup, fileName,aCbaIndex);
skin->SetLocalItemDefL(def);
//修改弹出菜单背景
def =AknsUtils::CreateBitmapItemDefL(KAknsIIDQsnFrPopup, fileName, aMenuIndex);
skin->SetLocalItemDefL(def);
//修改状态面板背景
def = AknsUtils::CreateBitmapItemDefL(KAknsIIDQsnBgAreaStatus,iPicfileName, aStatuPaneIndex);
skin->SetLocalItemDefL(def);
//修改列表背景
def =AknsUtils::CreateBitmapItemDefL(KAknsIIDQsnBgAreaMainListGene, iPicfileName,aImgIndex);
skin->SetLocalItemDefL(def);
剩下的自己去查索引吧。。。
注意:
(1) 尽量分开设定,不要连续设定多个,有时会失效。
(2) 设定菜单弹出后的CBA和菜单背景比较特殊,设定前必须先将菜单弹出至少一次(我也很困惑)。
弹出菜单的方式有很多——如:对话框、进度条、提示等。
例如:
//先弹出对话框:
CAknMessageQueryDialog* dlg = new(ELeave) CAknMessageQueryDialog();
dlg->PrepareLC(R_ABOUT_QUERY_DIALOG);
HBufC* title = iEikonEnv->AllocReadResourceLC(R_HTMLLIST_HELP);
dlg->QueryHeading()->SetTextL(*title);
CleanupStack::PopAndDestroy(); //title
HBufC* msg =iEikonEnv->AllocReadResourceLC(R_HTMLLIST_HELPTEXT);
dlg->SetMessageTextL(*msg);
CleanupStack::PopAndDestroy(); //msg
dlg->RunLD();
//再进行菜单弹出后的CBA与菜单背景
最终实现效果:
--[[User:Phoenixcuibj|Phoenixcuibj]] 03:28, 5 January 2011 (UTC) 欢迎补充指正!
- Symbian应用程序更换系统控件背景
- Symbian 去掉自定义控件背景白色的问题
- Symbian 更换主题
- 更换磁盘背景
- 更换SAP登录背景
- 背景随机更换问题
- Andriod更换背景颜色
- javascript更换背景
- 随机更换窗体背景
- [背景]Symbian大事记
- winform应用程序更换皮肤
- 随机更换背景颜色和背景时钟
- javascript定时更换表格背景
- MTK 更换主菜单背景
- android 动态更换界面背景
- 给子对话框更换背景
- MyEclipse更换背景主题方案
- photoshop实现图片更换背景
- C# 与 C++ 数据类型对照(转)
- Android vold
- asp.net系统导入Excel数据时提示:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序"
- oracle关键字 start with、、、 connect by prior 子句递归查询
- bitmapimage与byte[]相互转换 --转
- Symbian应用程序更换系统控件背景
- 在Linux系统中存储设备表示方法
- 最近的状态
- Windows Socket五种I/O模型
- jsp下载文件demo
- php 伪静态 (url rewrite mod_rewrite 重写)
- Winsock IOCP模型(二)
- 软件开发流程
- Wait Message in ajax request