symbian对话框总结:标准对话框

Series60提供了一个全面的对话框类和基类集合,可以使用这些类创建自定义对话框,以及开发窗体(form)、通知(note)、查询(query)和列表对话框(list dialog)等。

所有对话框共有某些基本属性。首先,对话框都是拥有窗口的控件,所有对话框类最终都派生于CCoeControl。然后,由一个对话框框架管理对话框的行为,包括布局、绘制以及用户与对话框在组件控件的交互。典型情况下,对于大多数任意复杂程度的对话框,都会在一个资源文件中完整定义,并在动态实例化之后由对话框框架从资源文件装载此定义完成对话框的创建。对话框所有元素的布局和定位都是通常是自动的,当然也可以干预它。

Series60的对话框默认是模态和非等待的。模态/非模态无需多述;非等待对话框允许应用程序在后台继续处理,而等待对话框会阻止应用程序在该对话框关闭前执行任何进一步的处理。

CAknDialog是大部分Series60对话框的基类。关于对话框的使用,大体分为以下步骤:1.定义资源。2.编写对话框类。3.保存和验证对话框数据。4.动态地初始化标准对话框。5.构建和执行对话框。

下面分别叙述之:

1.定义资源

使用DIALOG定义资源,资源指定了对话框的布局,在资源中定义对话框应该包含的行数、使用的控件、对话框是否为模态以及使用的软键等。下面以一个简单的例子示范:

RESOURCE DIALOG r_simpledlg_dialog
{
flags=EEikDialogFlagNoDrag |
EEikDialogFlagNoTitleBar |
EEikDialogFlagFillAppClientRect |
EEikDialogFlagCbaButtons |
EEikDialogFlagModeless;
buttons=R_AVKON_SOFTKEYS_OPTIONS_BACK;
items=
{
DLG_LINE
{
id=ESimpleDlgCIdGameName;
type=EEikCtLabel;
control= LABEL
{
txt = GAME_NAME_TEXT;
};
}
};
}

flags说明了对话框的属性,其中的属性值可参考<uikon.hrh>

#define EEikDialogFlagWait
#define EEikDialogFlagNotifyEsc
#define EEikDialogFlagButtonsBelow
#define EEikDialogFlagButtonsRight
#define EEikDialogFlagNoUserExit
#define EEikDialogFlagModeless
#define EEikDialogFlagNoTitleBar
#define EEikDialogFlagAllKeysToButtons
#define EEikDialogFlagFillScreen
#define EEikDialogFlagNoDrag
#define EEikDialogFlagDensePacking
#define EEikDialogFlagNoBackup
#define EEikDialogFlagFillAppClientRect
#define EEikDialogFlagCbaButtons
#define EEikDialogFlagNoBorder
#define EEikDialogFlagNoShadow

时间: 2025-01-20 11:06:12

symbian对话框总结:标准对话框的相关文章

Qt学习之路(18):Qt标准对话框之QInputDialog

这是Qt标准对话框的最后一部分.正如同其名字显示的一样,QInputDialog用于接收用户的输入.QInputDialog提供了一些简单的static函数,用于快速的建立一个对话框,正像QColorDialog提供了getColor函数一样. 首先来看看getText函数: bool isOK; QString text = QInputDialog::getText(NULL, "Input Dialog","Please input your comment"

Qt学习之路(17):Qt标准对话框之QMessageBox

现在还是继续来说说Qt的标准对话框吧! 这次来说一下QMessageBox以及类似的几种对话框.其实,我们已经用过QMessageBox了,就在之前的几个程序中.不过,当时是大略的说了一下,现在专门来说说这几种对话框. 先来看一下最熟悉的QMessageBox::information.我们在以前的代码中这样使用过: QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMess

Qt学习之路(16):Qt标准对话框之QColorDialog

继续来说Qt的标准对话框,这次说说QColorDialog.这是Qt提供的颜色选择对话框. 使用QColorDialog也很简单,Qt提供了getColor()函数,类似于QFileDialog的getOpenFileName(),可以直接获得选择的颜色.我们还是使用前面的QAction来测试下这个函数: QColor color = QColorDialog::getColor(Qt::white, this); QString msg = QString("r: %1, g: %2, b:

Qt学习之路(15):Qt标准对话框之QFileDialog

下面还是按照我们的进度,从Qt的标准对话框开始说起.所谓标准对话框,其实就是Qt内置的一些对话框,比如文件选择.颜色选择等等.今天首先介绍一下QFileDialog. QFileDialog是Qt中用于文件打开和保存的对话框,相当于Swing里面的JFileChooser.下面打开我们前面使用的工程.我们已经很有先见之明的写好了一个打开的action,还记得前面的代码吗?当时,我们只是弹出了一个消息对话框(这也是一种标准对话框哦~)用于告知这个信号槽已经联通,现在我们要写真正的打开代码了! 修改

java swing标准对话框具体实现

这篇文章介绍了swing标准对话框的具体实现方法,有需要的朋友可以参考一下   复制代码 代码如下: package test001; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTo

【C/C++学院】(17)QT标准对话框/toolbox类

1.标准对话框 各种基本对话框通过调用格子不同的静态函数来完成其功能: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QPushButton> class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = 0); ~Widget(); private: QPushButton *btn1; private slots:

java swing标准对话框具体实现_java

复制代码 代码如下: package test001;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JToolBar;public class TestJOptionPane implements

关于OnOK()、OnCancel()、OnClose()、OnDestroy() 模式对话框 非模式对话框

总结OnOK().OnCancel().OnClose().OnDestroy()之间的区别(转) 2009年09月22日 下午 08:33 第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和OnDestroy()是CWnd基类的成员函数,即WM消息响应函数.从应用程序结构的角度,拿对话框来说,红色的X对应的是CWnd,而处于对话框中的"确定"."取消"按钮则对应了CDialog. 第二,OnClose()和OnDestr

MFC 基础知识:主对话框与子对话框(一)

(仅供使用VS MFC初学者学习,高手莫见笑)在MFC中通常会使用点击一个按钮,弹出一个子对话框的基础知识,这些都是学习MFC的基础知识,也是非常重要的知识,这里我就简单的讲讲这些知识. 一. 设置主对话框 1.文件-新建项目(我设置的过程名为:EditSet)-MFC应用程序-该页面使用"基于对话框"-完成即可.2.在"资源视图"中打开Dialog对话框,删除"TODO:在此处放置对话框控件"和"确定"."退出&q