Symbian的UI Framework

本文详细介绍了Symbian操作系统的UI Framework,包括应用程序类、文档类、应用程序UI类和视图类的创建和交互过程。讲解了E32Main函数、NewApplication函数、应用程序入口点、以及如何创建和管理CApaApplication、CApaDocument、CEikAppUi等对象。此外,还探讨了基于控件、对话框和Avkon视图切换的架构,以及视图类的重要函数和菜单事件处理。
摘要由CSDN通过智能技术生成

应用程序类(CAknApplication->CEikApplication->CApaApplication)

文档类(CAknDocument->CEikDocument->CApaDocument)

应用程序UI类(CAknViewAppUi->CAknAppUi->CEikAppUi->CCoeAppUi)

视图类(CAknView)


1、实现全局函数E32Main(),该函数也称为应用程序入口点,当应用程序启动时,UI Framework将首先调用该函数。

GLDEF_C TInt E32Main( )

    {

   return EikStart::RunApplication( NewApplication );

    }

 

2、实现NewApplication()函数,该函数是由DLL导出的唯一函数。在NewApplication( )函数中创建应用程序类(CAknApplication)的一个实例,并返回它的指针,以后UI Framework使用该指针完成应用程序的创建。

LOCAL_C CApaApplication* NewApplication( )

    {

   return new CMyApplication;

}

这里应用程序类的实例是在堆上创建的,使用的是"new"方法,而非new (ELeave)方法,是因为TRAP harness还没有创立。

 

3、CMyApplication必须Override基类虚函数:

     TUid CAknApplication::AppDllUid( )

     返回应用程序的UID。该函数可用于确定应用程序的实例是否正在运行。

TUid CIRApplication::AppDllUid( ) const

    {

   return KMyAppUid;

}

 

4、CMyApplication必须Override基类虚函数:

     CApaDocument* CAknApplication::CreateDocumentL( )。

     UI Framework通过该函数获取新创建文档类(CAknDocument)的指针。

CApaDocument* CMyApplication::CreateDocumentL()

   { 

   return CMyDocument::Ne

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值