数据查询对话框要求用户输入文本,确定后作相应的响应处理,用户可以输入的文本可以是文字、数字、电话号码、日期、时间、口令等。表-1列出了常用的数据查询的类型。
表-1 数据查询类型
类型
|
类
|
布局
|
控件
|
无格式文本 |
CAknTextQueryDialog |
EDataLayout |
EDWIN |
电话号码 |
CAknTextQueryDialog |
EPhoneLayout |
EDWIN |
PIN |
CAknTextQueryDialog |
EPinLayout |
SECRETED |
口令 |
CAknTextQueryDialog |
ECodeLayout |
SECRETED |
日期 |
CAknTimeQueryDialog |
EDateLayout |
DATE_EDITOR |
时间 |
CAknTimeQueryDialog |
ETimeLayout |
TIME_EDITOR |
持续期 |
CAknDurationQueryDialog |
EDurationLayout |
TIME_EDITR |
浮点行 |
CAknFloatingPointQueryDialog |
EFloatingPointLayout |
FLPTED |
多行 |
CAknMultiLineDataQueryDialog |
EAknMultiLineDataQueryLayout |
根据使用而不同 |
数字 |
CAknNumberQueryDialog |
ENumberLayout |
AVKON_INTEGER_EDWIN |
数据查询是一种基本的查询方式,它通过接受用户的数据输入来确定程序的执行流程。例如当程序要求保存数据时,通常要求用户输入保存数据的文件名,然后按用户输入的文件名保存数据。
在程序中,首先在资源文件中定义查询对话框。
RESOURCE DIALOG r_data_query_dialog
{
flags =EGeneralQueryFlags;
buttons =R_AVKON_SOFTKEYS_OK_CANCEL;
items=
{
DLG_LINE
{
type = EAknCtQuery;
id = 1;
control = AVKON_DATA_QUERY
{
layout = EDataLayout;
control = EDWIN
{
width = 20;
lines = 1;
maxlength = 20;
};
};
}
};
}
查询对话框资源定义了对话框的属性。
(1)flags。此处定义为EGeneralQueryFalgs,即通用标记。
(2)button。指定对话框使用的按键。此处的R_AVKON_SOFTKEYS_OK_CANCEL表示左键为OK,右键为Cancel。
(3)control。此处定义为AVKON_DATA_QUERY,这是查询对话框的控件。在control中规定了对话框的布局Layout,这里指定为EDataLayout,这是一种通用的数据布局方式。
在查询对话框中还定义了一个编辑器控件,在资源文件中定义为EDWIN,并指定了它的三个属性width(宽度)、lines(行数)和maxlength(最大长度)。资源文件定义好之后,在程序文件中就可以使用查询对话框。使用代码如下所示。
TBuf<20> fileName;
CAknTextQueryDialog* queryDialog =CAknTextQueryDialog::NewL(fileName);
CleanupStack::PushL(queryDialog);
HBufC* prompt = StringLoader::LoadLC(R_DATA_QUERY_PROMPT);
queryDialog->SetPromptL(*prompt);
CleanupStack::PopAndDestroy(prompt);
CleanupStack::Pop(queryDialog);
if(queryDialog->ExecuteLD(R_DATA_QUERY_DIALOG))
{
}
这里使用的是无格式的文本查询对话框,它的类为CAknTextQueryDialog。(1)句首先调用该类的NewL()函数建立对象,NewL()函数需要一个TBuf类型的描述符作为参数,该参数用于接受用户输入的数据,要求用户输入文件名。
作为对话框来说,(2)句将给用户一定的提示信息,以下这段代码将给查询对话框增加一个提示内容。
HBufC* prompt = StringLoader::LoadLC(R_DATA_QUERY_PROMPT);
queryDialog->SetPromptL(*prompt);
CleanupStack::PopAndDestroy(prompt);
提示的文本在资源文件中定义如下所示。
RESOURCE TBUF r_data_query_prompt
{
buf = "Inputfile name:";
}
定
义文本的方式为RESOURCE
TBUF,该结构有一个参数buf,buf的值就是程序要定义的文本。最(3)句调用ExecuteLD执行对话框,如果用户选择确
定,ExecuteLD()函数返回ETrue;否则返回EFalse。这里没有给出具体的保存顾数据的代码,可以根据需要自行添加上去。另外需要说明的
一点是,由于ExecuteLD()函数有一个压栈的过程,所以在调用ExecuteLD()函数之前必须把queryDialog弹栈。
分享到:
相关推荐
在IT行业中,尤其是在移动操作系统开发领域,对话框(Dialog)是一种常见的用户界面元素,用于向用户提供临时信息或者请求用户输入特定的数据。Symbian作为曾经流行的智能手机操作系统,其UI设计和编程同样涉及到...
在Symbian操作系统中,开发应用程序时,我们经常会遇到需要用户等待的情况,比如进行耗时的操作,如数据加载、文件处理等。此时,为提供良好的用户体验,我们会使用等待对话框(WaitNote)来通知用户程序正在后台...
数据查询对话框用于从用户那里获取具体的数据。 ```cpp RQueryDialog* DataDialog = CQueryDialogFactory::NewLC(KQueryData, _L("Enter your age:")); DataDialog->SetPromptType(KQueryPromptNumeric); // 设置为...
通过分析"Example_Dialog"这个示例,开发者不仅可以学习到如何创建模态对话框,还可以了解到如何在Symbian平台上处理用户交互、数据展示和事件响应。这对于深入了解Symbian应用程序开发至关重要,尤其是在设计复杂...
4. **004-multiquery.py** - 多查询可能涉及到数据库操作,比如执行多个SQL查询,这在需要处理大量数据的应用中非常常见。 5. **005-popupmenu.py** - 弹出菜单是用户交互的一部分,这个文件可能展示了如何创建和...
4. **用户界面设计**:塞班系统有其特定的用户界面指南,开发者需要学习如何创建符合平台风格的用户界面,包括菜单、对话框、控件等。 5. **系统服务与API**:塞班提供了丰富的API,包括通信、多媒体、位置服务、...
总的来说,Symbian系统编程入门中的“文件类”不仅涵盖了基本的文件操作,还深入到UI层面,介绍了如何构建和定制对话框,这对于开发Symbian平台的应用程序至关重要。通过理解并熟练掌握这些概念和方法,开发者可以...
GUI在Symbian中通常由一系列视图(View)、窗口(Window)和对话框(Dialog)组成,它们通过事件驱动模型进行交互。在这个时钟应用中,开发者可能会使用到以下关键组件: 1. **CAknView**: 这是Symbian平台上的基本...
- **TestQuery**:可能包含数据库查询的示例,Symbian支持SQLite数据库,用于存储应用程序数据。 - **TestView**:可能涉及更复杂的视图操作,如滚动、动画或自定义视图元素。 - **TestStack**:可能与数据结构...
塞班手机端Python开发教程是针对使用Python编程语言在塞班(Symbian)操作系统上进行移动应用开发的技术指导。塞班系统曾是智能手机市场的重要竞争者,尤其在2000年代中期至后期,它提供了丰富的功能和相对开放的开发...
综上所述,这些压缩包中的资源构成了一个完整的Symbian系统开发学习路径,从基础语法到高级特性,从本地数据处理到网络通信,覆盖了Symbian开发的方方面面。通过系统地学习和实践,开发者能够具备开发高质量Symbian...
本文将深入分析《小糊涂学Symbian日记》中的核心知识点,特别是Symbian OS应用程序的基本架构,包括传统的Symbian OS控制体系结构、基于对话框的体系结构和视图体系结构。 #### Symbian OS 应用程序结构 Symbian OS...
GUI编程在Symbian OS中涉及对话框、视图和控件的使用。中文化处理则确保应用程序能适应不同语言环境,而多视图设计则允许在同一个应用程序中展示多个独立的视图。文件及流操作则涵盖了数据的存储和读取,这是任何...
Symbian还支持XML解析和Web服务,便于数据交换和远程调用。 六、用户界面设计 Symbian UI基于Series 60平台,通常使用C++和MFC(Meta-Object Compiler)库来构建。开发者需要理解视图(View)、对话框(Dialog)、...
5. **数据库操作**:Symbian提供了SQLite数据库支持,使得在手机上存储和管理数据变得可能。教程会涵盖数据库的创建、查询、更新和删除等基本操作。 6. **本地化和国际化**:Symbian系统支持多语言环境,教程会讲解...
Symbian提供了多种UI组件,如对话框、菜单、列表视图等,用于构建用户界面。理解如何创建和管理这些组件是Symbian开发的关键。 七、网络与数据通信 Symbian支持多种网络协议,如TCP/IP、HTTP、FTP等,开发者可以...
Symbian中的OBEX会话管理由RObexSession类负责,它提供了一系列方法来管理会话,如打开、关闭、发送和接收数据。 3. **设置目标路径**:在发送文件前,需要告诉服务器目标存储位置。这可以通过调用RObexSession的...
9. **Dialog的弹出**:Symbian中的对话框通常基于CEikDialog类。你可以创建一个新的CEikDialog实例,添加控件并设置它们的布局,最后调用ExecuteLD()显示对话框。 10. **输入框和文件保存**:当用户在输入框中输入...