伯乐共勉

讨论。NET专区
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Symbian OS 开发初级手册 (3)GUI程序中的4个基本类

Posted on 2007-02-09 17:18  伯乐共勉  阅读(201)  评论(0编辑  收藏  举报
图形界面的HelloWorld比文字版复杂了许多! 做过windows图形和命令行程序的人们应该可以很容易的理解这一点。这个Helloworld 一共有4个类, 他们是Symbian OS中任何图形程序都不可少的4个基本类。他们建立了图形界面程序的基本框架, 使得程序员们很容易就知道某些代 码应该放在什么地方, 比如绘图的代码就应该放在View里边, 同样当我们去读一个程序的时候, 如果我们在意的是程序的数据结构,就该去看 Document类的实现。 

CExampleApplication
    
   Application 类一共有 两个作用:第一个是设置这个应用程序的属性, 比如UID, 每一个应用程序都有其独特的 UID. const TUid KUidHelloWorld = { 0X10008ACE };KUidHelloWorld就是这个 Helloworld的UID.,AppDllUid() 向高层的框架提供这个应用程序的UID, 框架就用此来识别我们的程序。  另外就是制造一个 Document类的实例, 因此我们只需要两个函数:AppDllUid 和 CreateDocument。 CExampleApplication 从 CEikApplication继承而来,很多不需要我们定义函数都被包含在 CEikApplication中

CExampleDocument

  Document 类是应用程序的数据模型,如果这个程序是以文件为基础的,它负责程序的文件操作。 我们的Helloworl不涉及到任何文件,但是我们仍然需要这个个类,因为它还负责制造UI类的实例。

CExampleAppUI

   UI 类尽管名字是“用户界面“, 他并不是可视的组件,它制造View类的实例, 而它更重要的任务是分派命令和事件, 比如菜单命令就由UI来决定怎样处 理,分配到什么类,什么函数。 又如键盘事件由UI来决定分派到那个控件去处理。HandleCommandL() 这个函数就是用来处理命令的。

CExampleAppView
 
   View 类是可视的控件, 它负责屏幕显示,同时也可以提供相应的函数来响应相关的事件。描绘用的代码就放在Draw函数中

    这4个类的声明都放在相应的头文件中, 实现在相应的cpp中,除此之外,你会发现还有一个源文件:Helloworldbasic.cpp。 这个文件 是Helloworld的入口, 它的作用很简单,就是建立一个Application类的实例。 因此大部分图形界面的工程中这个文件都是差不多的,只 是Application类的名字要相应改变。

   这一课我们讲了Symbian OS图形程序中4个基本的类以及程序的入口。 下一 课我们讲Helloworldbasic中的mmp 文件和pkg文件。 然后我们将概述如何生成sis文件, 也就是手机的安装文件。最后我们的 helloworld 就可以在支持symbian 的手机上运行了!