WEB开发网
开发学院手机开发Symbian 开发 Symbian 对话框组件与应用开发 对话框简介 阅读

Symbian 对话框组件与应用开发 对话框简介

 2010-04-20 15:49:00 来源:WEB开发网   
核心提示:Symbain OS 对话框的基类实在Uikon中定义的CEikDialog类,在此基础上各个界面平台又封装了各种对话框类,Symbian 对话框组件与应用开发 对话框简介,例如S60平台的Avkon定义了 CAknDialog类作为S60对话框的基类,而UIQ平台仍然使用CEikDialog类作为对话框基类,#def

Symbain OS 对话框的基类实在Uikon中定义的CEikDialog类,在此基础上各个界面平台又封装了各种对话框类,例如S60平台的Avkon定义了 CAknDialog类作为S60对话框的基类,而UIQ平台仍然使用CEikDialog类作为对话框基类,但是封装了 CQikSaveFileInFolderDlg类等UIQ平台特有的对话框类。

Uikon中的CEikDialog实现了三个接口,包括:

McoeControlObserver,对话框子控件的观察者接口,当子控件状态发生变化时该接口的 HandleControlEventL()函数被调用。

MeikDialogPageObserver,在多页对话框中,可以通过实现该接口观察页面的变化。

McoeControlContext,在多个控件之间共享图形上下文的接口。

CAknDialog类和CEikDialog类最大的不同是前者可以拥有菜单,相应地实现了 MEikMenuObserver接口,用于观察菜单状态的变化。

CAknDialog是大部分Series60对话框的基类。关于对话框的使用,大体分为以下步骤:1.定义资源。2.执行对话框。3.动态地初始化标准对话框。4.退出对话框。

1.定义资源

使用DIALOG定义资源,资源指定了对话框的布局,在资源中定义对话框应该包含的行数、使用的控件、对话框是否为模态以及使用的软键等。资源结构在eikon.然后中定义:

STRUCT DIALOG

{

LONG flags=0;

LTEXT title="";

LLINK pages=0;

LLINK buttons=0;

STRUCT item[];

LLINK form=0;

}

flags:说明了对话框的属性,其中的属性值可参考,可以多个一起用。

#define EEikDialogFlagWait //等待对话框

#define EEikDialogFlagNotifyEsc //退出通知,当用户选择某个软键时对话框调用OkToExit()函数

#define EEikDialogFlagButtonsBelow

#define EEikDialogFlagButtonsRight

#define EEikDialogFlagNoUserExit //不允许用户选择退出对话框,即不显示软键

#define EEikDialogFlagModeless //无模式对话框,使用该

#define EEikDialogFlagNoTitleBar //无标题栏

#define EEikDialogFlagAllKeysToButtons

#define EEikDialogFlagFillScreen

#define EEikDialogFlagNoDrag //不可拖动

1 2 3 4 5 6  下一页

Tags:Symbian 对话框 组件

编辑录入:coldstar [复制链接] [打 印]
赞助商链接