注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Simon

 
 
 

日志

 
 

symbian 使用系统皮肤  

2010-08-13 18:50:07|  分类: Symbian C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

本文来自

http://www.devdiv.net

论坛老大 愣愣哥的 呵呵!  有问题去论坛问他们,他们会很热心的为你解答的。

在symbian中使用系统的皮肤,使得背景随着手机主题的改变而改变

 

 

CxxContainer的头文件中添加:#include <AknsBasicBackgroundControlContext.h>

 

定义一个成员函数:CAknsBasicBackgroundControlContext* iBgContext;

 

初始化:iBgContext = CAknsBasicBackgroundControlContext::NewL( KAknsIIDQsnBgAreaMain,iRect,ETrue);

 

添加函数:

TTypeUid::Ptr CxxContainer::MopSupplyObject(TTypeUid aId)

{

    if (iBgContext )

    {

        return MAknsControlContext::SupplyMopObject( aId, iBgContext );

    }

    return CCoeControl::MopSupplyObject(aId);

}

 

SizeChange()中:

void CxxContainer::SizeChanged()

{

    if(iBgContext)

    {

        iBgContext->SetRect(Rect());

        if ( &Window() )

        {

            iBgContext->SetParentPos( PositionRelativeToScreen() );

        }

    }

    this->DrawDeferred();

}

 

Draw函数中:

  MAknsSkinInstance* skin = AknsUtils::SkinInstance();

  MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );

  AknsDrawUtils::Background( skin, cc, this, gc,iRect);

  评论这张
 
阅读(218)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018