CEikonEnv类功能分析

1.1 继承关系

CEikonEnv --> CCoeEnv ,MApaAppStarter -->CActive, CBase.

这个类本身是不能用来被继承的。主要的作用是给所有的 Uikon 的 controls 提供一个运行的 环境。这些环境包括很多项,比如说环境 字体,环境 图片资源文件等等。所以 CEikonEnv 提供一系列的工具函数,用于 使用这些 空间。每个 Uikon 的 appication 都有一个由 application framework 提供的 CEikonEnv 的实例,在 application 中可以用

CEikonEnv::Static() 或者 EikApplication 的宏 iEikonEnv 来使用这个 CEikonEnv 。

1.2 功能分析

CEikonEnv提供了一系列的功能。包括:

【Text的处理】

· 取得当前的环境(enviroment)字体:
const CFont* font = iEikonEnv->NormalFont();

· 取得当前的环境(enviroment)标准符号字体:
const CFont* font = iEikonEnv-SymbolFont();

·类似的字体函数:
AnnotationFont() / TitleFont() / LegendFont() /DenseFont() ;

【AlertWin的处理】

iEikonEnv->AlertWin(text);用于显示一个alert windows。

【Resource readers 和 resource files】

·根据 resourceId 把资源文件的内容读取到 TBuf 中:

CEikonEnv 提供了一系列的函数来读取资源文件的内容, 基本的函数用法如下

TBuf<KAknExFormTitleBufLength> titleText( NULL );
iEikonEnv->ReadResource( titleText, resourceId );

· 根据 resourceId 把资源文件的内容读取到一个resource reader中:

这个 resource reader 可以用于后续之用,这个 resource reader 被放置在cleanup stack上。
这个 resource reader 的主要作用在可以通过资源文件创建控件,如下:

CCoeControl::ConstructFromResourceL();

【Access(访问函数)】

·在这个范围内主要的函数是:AppUiFactory()。这个函数的主要作用是返回一个

MEikAppUiFactory 对象指针,This class defines a mixin interface to break

the dependency of the Uikon Application User Interface on controls。用法如下所示:

CEikStatusPane* sp = iEikonEnv->AppUiFactory()->StatusPane();

这样就获得了 application 的 status spane,通过这个指针就可以访问其他 sub status spane,如下:

CAknTitlePane* titlePane = (CAknTitlePane *)sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle));

这样,就可以在运行的时候动态更改status spane的内容。

另外,如果appui继承自CEikAppui,那么可以采用下面的 方法

CEikStatusPane *sp = ((CAknAppUi*)iEikonEnv->EikAppUi())->StatusPane();

·Bitmaps 函数

在seires60中 已经有个bitmapsfunction的namespace,所以这里不讨论这个类别。

另外,还可以从bitmap中创建ICON文件,作为其他控件的参数。 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值