用户操作
[即时聊天] [发私信] [加为好友]
ID:wangweixing2000
59462次访问,排名1784好友68人,关注者216
爱好:足球,健身,看电影.
wangweixing2000的文章
原创 70 篇
翻译 0 篇
转载 41 篇
评论 45 篇
星的公告
知识共享,快乐coding!! 千里之行﹐始於足下! Locations of visitors to this page
最近评论
mikefather:很好啊
hailongxl://修改employee密码
extern "C" XDATAMANAGER_API int __stdcall DBChangePassword(const char *user,const char*pass)
{
#if USE_SQLITE
if( db == NULL )return X_DB_NOT_INIT;

……
lhtang:Program file does not exist
E:\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\WINSCW\UDEB\first_syb_hello_0xE40082A0.exe not found

这是为什么?
lhtang:里面只是些zip压缩包,ide里是不是有个添加插件的界面,还有下的1.3的carbide打不开
wangweixing2000:http://www.forum.nokia.com/info/sw.nokia.com/id/48a93bd5-028a-4b3e-a0b1-148ff203b2b3/Extensions_plugin_S60_3rd_ed.html
这里去下载
文章分类
收藏
相册
csdn友情连接
COM集中营
kennykerr的blog
休闲空间(RSS)
婉儿的blog(RSS)
数字金刚
推荐经典网站
Codeguru
CodeProject
我的网站
我的免费代码垃圾堆
我的网站
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

转载 s60 3rd上使用自定义皮肤收藏

新一篇: Symbian程序中显示资源中定义的中文 | 旧一篇: 搭建Symbian开发环境--与多种IDE的集成

s60 3rd上使用自定义皮肤

 

在S60 3rd程序上使用自定义皮肤的方式基本同S60 2nd上的使用方式是相同,但是,有时后还是很难调试出来,因此,决定做个小例子,给大家演示怎么使用自定义皮肤。

只用自定义皮肤的过程基本如下:
1.在AppUI类中,定义下面两个成员变量,这两个变量必须定义,不然,你的皮肤可能绘不出来哦,很多朋友绘不出来自定义皮肤,有可能就是把某个变量定义成局部变量了
   TAknsItemID m_SkinItemID;
    TFileName desSkinImagesFile;

2.在AppUI类的ConstuctL()函数中创建自定义皮肤,如下
 CEikAppUi* appUi = CEikonEnv::Static()->EikAppUi();
    CEikApplication* app = appUi->Application();
   
    desSkinImagesFile = (app->BitmapStoreName());
    desSkinImagesFile.SetLength(desSkinImagesFile.LocateReverse('\\') + 1);
    desSkinImagesFile.Append(_L("SelfSkin.mif"));
   
    // Create background image - use our App UID to make it unique
    m_SkinItemID.iMajor = 0xECE7E35C;  //该处使用程序的ID就可以了

    m_SkinItemID.iMinor = 1;
    CAknsItemDef* pDef = AknsUtils::CreateMaskedBitmapItemDefL(m_SkinItemID,
      desSkinImagesFile,
      EMbmSelfskinClientbackground ,
      EMbmSelfskinClientbackground_mask);
   
    AknsUtils::SkinInstance()->SetLocalItemDefL(pDef);

3.在view或container中使用皮肤,在使用皮肤的类中定义下面的成员变量
   CAknsBasicBackgroundControlContext* m_pBackgroundContext;
 实现下面的方法
TTypeUid::Ptr CSkinExample3rdAppView::MopSupplyObject(TTypeUid aId)
 {
     if(aId.iUid == MAknsControlContext::ETypeId && m_pBackgroundContext)
     {
         return MAknsControlContext::SupplyMopObject(aId, m_pBackgroundContext);
     }
     return CCoeControl::MopSupplyObject( aId );
 }

  在构造函数中,创建m_pBackgroundContext
CSkinExample3rdAppUi* appUi = (CSkinExample3rdAppUi*)CEikonEnv::Static()->EikAppUi();
 m_pBackgroundContext = CAknsBasicBackgroundControlContext::NewL(appUi->m_SkinItemID, Rect(), EFalse);

4.在Draw()方法中绘制自定义的皮肤,如下
void CSkinExample3rdAppView::Draw( const TRect& aRect ) const
 {
 // Get the standard graphics context
 CWindowGc& gc = SystemGc();
 
 AknsDrawUtils::Background(AknsUtils::SkinInstance(),
         AknsDrawUtils::ControlContext(this),
         this,
         gc,
         aRect,
         KAknsDrawParamDefault);

 //以下做你自己的绘制工作
 
 }

基本的使用皮肤的过程就是这样的,如果大家看了还是不够明白,那就通过例子代码学习一下吧,希望能够为在第三版上使用自定义的遇到问题的网友提供参考,该例子中在s60 3rd mr版中调试通过。

包含附件:下载源码

**************************************************************************************************
移软Symbian培训中心原创,转载请注明出处。

发表于 @ 2008年06月03日 10:42:00|评论(loading...)|收藏

新一篇: Symbian程序中显示资源中定义的中文 | 旧一篇: 搭建Symbian开发环境--与多种IDE的集成

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 星