Symbian主题处理
来源:互联网 发布:http post数据 编辑:程序博客网 时间:2024/04/25 14:31
昨天开始研究主题管理,今天算是有点突破.目前可以枚举出所有主题目录.
处理主题完全的管理还需要时间,至少预览功能到目前还不知如何处理.由于之前
基本没有处理过UI,对部分对UI不熟悉一个LISTBOX就浪费了很多时间.还好
总算做出一个简单的DEMO.特在此总结一下相关的东东.
让我们少费话直接进入话题吧!!
1.下载最新的SDK PLUGIN ExtendedSkinsAPI.ZIP在这里面有主题功能必须的LIB
2.在包里缺少aknskinsinternalcrkeys.h头文件,浪费了我一个小时的时间去查找.
在PersonalizationandSkinsS
ettingsAPI.ZIP中
下载到上述二个包后,工作就可以开始了.
1.连接主题的服务器
RAknsSrvSession iSession;//记着用完之后,R类是要关闭的
User::LeaveIfError( iSession;( this ) );
2.枚举所有主题的ID
CArrayPtr<CAknsSrvSkinInformationPkg>* skinInfoArray = skinsSession.EnumerateSkinPackagesL();
//得到所有的主题项,存放到数组
CleanupStack::PushL( skinInfoArray );
TInt retValue( KErrNone );
if ( skinInfoArray->Count() > 0 )//主题的个数
{
for (TInt i=0; i < skinInfoArray->Count(); i++ )
{
TAknsPkgID pkgId = skinInfoArray->At(i)->PID();//得到每个主题的ID
}
}
skinInfoArray->ResetAndDestroy();
3.得到当前主题的ID
TAknsPkgIDBuf pidBuf;
CRepository* repository = CRepository::NewL(KCRUidPersonalisation );
TInt retVal = repository->Get( KPslnActiveSkinUid, pidBuf );//得到当前主题的ID
delete repository;
repository = NULL;
4.设置当前主题的ID
TAknsPkgIDBuf pidBuf;
aPkgId.CopyToDes( pidBuf );
CRepository* repository = CRepository::NewLC( KCRUidPersonalisation );
TInt retVal = repository->Set( KPslnActiveSkinUid, pidBuf );//设置当前主题的ID
下载到上述二个包后,工作就可以开始了.
1.连接主题的服务器
RAknsSrvSession iSession;//记着用完之后,R类是要关闭的
User::LeaveIfError( iSession;( this ) );
2.枚举所有主题的ID
CArrayPtr<CAknsSrvSkinInformationPkg>* skinInfoArray = skinsSession.EnumerateSkinPackagesL();
//得到所有的主题项,存放到数组
CleanupStack::PushL( skinInfoArray );
TInt retValue( KErrNone );
if ( skinInfoArray->Count() > 0 )//主题的个数
{
for (TInt i=0; i < skinInfoArray->Count(); i++ )
{
TAknsPkgID pkgId = skinInfoArray->At(i)->PID();//得到每个主题的ID
}
}
skinInfoArray->ResetAndDestroy();
3.得到当前主题的ID
TAknsPkgIDBuf pidBuf;
CRepository* repository = CRepository::NewL(KCRUidPersonalisation );
TInt retVal = repository->Get( KPslnActiveSkinUid, pidBuf );//得到当前主题的ID
delete repository;
repository = NULL;
4.设置当前主题的ID
TAknsPkgIDBuf pidBuf;
aPkgId.CopyToDes( pidBuf );
CRepository* repository = CRepository::NewLC( KCRUidPersonalisation );
TInt retVal = repository->Set( KPslnActiveSkinUid, pidBuf );//设置当前主题的ID
- Symbian主题处理
- Symbian主题处理
- Symbian 更换主题
- Symbian中的异常处理
- Symbian中声音处理
- symbian 按键处理
- symbian文件服务器:文件处理
- Symbian 位图处理
- Symbian 位图处理
- symbian文件服务器:文件处理
- Symbian 位图处理
- Symbian中声音处理
- Symbian 进程处理
- Symbian中文处理
- symbian字符串处理 .
- symbian os:字符串处理
- Symbian 上位图的处理(
- Symbian触摸屏双击事件处理
- tcsh编程学习2
- 汇编语言求数组的长度_$的用法
- Symbian截屏以及前后台切换(Screen capture)
- 倾城之恋
- tcsh编程学习3
- Symbian主题处理
- 开始CUDA的研究
- 【代码示例】判断字符串是否可转换为数字并格式化0.00为0
- c# 疑难(一)之打开“OpenFileDialog”文本对话框后默认路径改变问题和解决方法
- Symbian 自定义桌面图像的响应
- 国外电子工程师们和国内电子工程师
- NAT-PT 协议转换网关的设计与实现
- 一些流行且免费的Maven仓库工具
- HTTP Range