对话框 在两种UI中,对话框显现在屏幕的底部。它 们总是充满屏幕的宽度,高度可变,不过, 在UIQ中它们从不覆盖应用程序选取器或状态 栏。与UIQ不同,Series60不使用对话框按 钮;而是使用软键。 所有对话框最终派生于CEikDialog类,通常 由DIALOG资源定义,或者在Series60中,有 时由FORM资源定义。DIALOG资源中最重要的 字段是flags、buttons和items。对话框(或 者Series60窗体)中的项由DLG LINE资源定 义。每个DLG LINE可以包含多种控件中的 种。两种UI的可用控件不同
16 在两种UI中,对话框显现在屏幕的底部。它 们总是充满屏幕的宽度,高度可变,不过, 在UIQ中它们从不覆盖应用程序选取器或状态 栏。与UIQ不同,Series 60不使用对话框按 钮;而是使用软键。 所有对话框最终派生于CEikDialog类,通常 由DIALOG资源定义,或者在Series 60中,有 时由FORM资源定义。DIALOG资源中最重要的 字段是flags、buttons和items。对话框(或 者Series 60窗体)中的项由DLG_LINE资源定 义。每个DLG_LINE可以包含多种控件中的一 种。两种UI的可用控件不同。 对话框
对话框 在两种UI中使用对话框的模式是相同的。使 用C++构造函数构造它,调用该对话框的 ExcuteLD()函数,说明定义它的DLALOG资源的 ID,然后测试EXeCUCeLD(O的返回值(表示按 下了哪个按钮或软键)。为了方便,一些对话 框在静态函数RunD1gLD(O的中包装构造和执行
17 在两种UI中使用对话框的模式是相同的。使 用C++构造函数构造它,调用该对话框的 ExcuteLD()函数,说明定义它的DLALOG资源的 ID,然后测试EXeCUCeLD()的返回值(表示按 下了哪个按钮或软键)。为了方便,一些对话 框在静态函数RunDlgLD()的中包装构造和执行。 对话框
对话框 1.标题栏 UIQ中的对话框,与Series60中的对话框不 同,它有一个服务于几个目的的标题栏: 放置保持对话框的标题(由DIALOG结构的 title字段定义) 。 可以被拖动,因此用户可以看到对话框下面 的内容。 如果该对话框包含一个文本编辑器,UIQ添加 个按钮,按下按钮时激活一个提供剪切、 复制和粘贴功能的下拉菜单窗格(如图3.5所 示)。 它可以选择包含个帮助按钮(当点击时
18 1.标题栏 UIQ中的对话框,与Series 60中的对话框不 同,它有一个服务于几个目的的标题栏: ⚫ 放置保持对话框的标题(由DIALOG结构的 title字段定义)。 ⚫ 可以被拖动,因此用户可以看到对话框下面 的内容。 ⚫ 如果该对话框包含一个文本编辑器,UIQ添加 一个按钮,按下按钮时激活一个提供剪切、 复制和粘贴功能的下拉菜单窗格(如图3.5所 示)。 ⚫ 它可以选择包含一个帮助按钮(当点击时, 启动上下文对应的帮助主题)。 对话框
对话框 Find contact Joh Cut Wher Copy fields Paste Company Cancel Find 图3.5包含一个帮助按钮的UIQ对话框,显示了 一个下拉编辑菜单
19 图3.5 包含一个帮助按钮的UIQ对话框,显示了 一个下拉编辑菜单 对话框 Find contact Joh Wher fields Cancel Find machmes & Company Cut Copy Paste
对话框 如果该对话框提供一个帮助上下文,测添加 该帮助按钮。这可以通过调用 CEikDialog:SetHelpContext()或重写 CEikDialog:GetHelpContext()来完成。UIQ SDK文档提供更多关于上下文特定的帮助系统 的信息。 20
20 如果该对话框提供一个帮助上下文,则添加 该帮助按钮。这可以通过调用 CEikDialog::SetHelpContext()或重写 CEikDialog::GetHelpContext()来完成。UIQ SDK文档提供更多关于上下文特定的帮助系统 的信息。 对话框