Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项
http://blog.csdn.net/delphiteacher/article/details/8924110
Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项
在FireMonkey iOS应用程序中实现一个选择器
在iOS平台上,FireMonkey使用TComboBox组件来封装选择器组件:

要定义一个选择器并且列出可以选择的项目:
1. 选择File>New>FireMonkey Mobile Application – Delphi>Blank Application。
2. 在Tool Palette中选择TComboBox组件,然后拖到FireMonkey Mobile Form Designer上去。
要找到TComboBox,在ToolPalette的搜索框中输入开头的几个字母(“Com”):

3. 在你拖好控件之后,你就可以在Form Designer上看到这个TComboBox组件了。
右击TComboBox组件,选择Items Editor…

4. 要定义项目列表,多点几次Add Item:

5. 在Structure View中,选择ListBoxItem1(列表中的第一项)。
6. 在Object Inspector中,编辑ListBoxItem1的Text属性。
在这个例子中,(USA的55个州),第一项为“Alabama”。

7. 也把其他项目编辑好,例如Alaska,Arizona,Arkansas,California,Colorado,等等。
8. 在iOS Simulator或iOS Device目标平台上运行这个应用程序。
你在点按TComboBox之后,Picker控件就会出现,之后你就可以选择一个项目了。
使用代码来建立项目列表
要用代码建立项目列表,你可以像下面的代码一样使用Add方法:
- procedure TForm27.FormCreate(Sender: TObject);
- begin
- ComboBox1.Items.Add('Alabama');
- ComboBox1.Items.Add('Alaska');
- ComboBox1.Items.Add('Arizona');
- ComboBox1.Items.Add('Arkansas');
- ComboBox1.Items.Add('California');
- // Other states can be listed here
- ComboBox1.Items.Add('Virginia');
- ComboBox1.Items.Add('Washington');
- ComboBox1.Items.Add('West Virginia');
- ComboBox1.Items.Add('Wisconsin');
- ComboBox1.Items.Add('Wyoming');
- end;
显示指定的项
当前选中的项由ItemIndex属性指定。ItemIndex是一个整型值,使用从0开始的下标来指定(也就是,第一个项的下标是0)。
要显示延列表中第5项为选中(在下面的示例代码中是“California”),指定它的ItemIndex如下:
- procedure TForm27.FormCreate(Sender: TObject);
- begin
- ComboBox1.Items.Add('Alabama');
- ComboBox1.Items.Add('Alaska');
- ComboBox1.Items.Add('Arizona');
- ComboBox1.Items.Add('Arkansas');
- ComboBox1.Items.Add('California');
- // Other states can be listed here
- // Index of 5th item is "4"
- ComboBox1.ItemIndex := 4;
- end;
如果不知道下标值,你也可以使用IndexOf方法来找到这个值,如下:
- procedure TForm27.FormCreate(Sender: TObject);
- begin
- ComboBox1.Items.Add('Alabama');
- ComboBox1.Items.Add('Alaska');
- ComboBox1.Items.Add('Arizona');
- ComboBox1.Items.Add('Arkansas');
- ComboBox1.Items.Add('California');
- // Other states can be listed here
- ComboBox1.ItemIndex := ComboBox1.Items.IndexOf('California');
- end;
实现用户选择的事件处理过程
在用户选择完某一项之后,OnChange事件会被触发,你可以为OnChange事件实现事件处理过程。
要实现OnChange的事件处理过程:
1. 选择TcomboBox组件。
2. 在Object Inspector中,打开Events页,然后双击OnClick事件旁边的空白处。
3. 然后会自动打开Code Editor,编写如下代码:
- procedure TForm27.CalendarEdit1Change(Sender: TObject);
- begin
- ShowMessage(Format('Item %s at Index %d was selected. ',
- [ComboBox1.Selected.Text, ComboBox1.ItemIndex]));
- end;
这个事件处理过程显示一个对话框来提示选中的项。
Format函数根据一个格式字符串以及参数数组来返回一个格式化的字符串。

Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项的更多相关文章
- Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页
Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页 在FireMonkey iOS应用程序中的Tab Tab由FMX.TabControl.TTabControl定 ...
- Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件
Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件 在FireMonkey iOS应用程序中使用WebBrowser 在iOS平台上,FireMonkey使用T ...
- Delphi for iOS开发指南(5):在iOS应用程序中使用Calendar组件来选择日期
http://blog.csdn.net/delphiteacher/article/details/8923519 在FireMonkey iOS应用程序中的Calendar FireMonkey使 ...
- Delphi for iOS开发指南(4):在iOS应用程序中使用不同风格的Button组件
http://blog.csdn.net/DelphiTeacher/article/details/8923481 在FireMonkey iOS应用程序中的按钮 FireMoneky定义了不同类型 ...
- Delphi for iOS开发指南(3):创建一个FireMonkey iOS应用程序
http://cache.baiducontent.com/c?m=9d78d513d9d431a94f9d92697d60c015134381132ba1d0020fa48449e3732b4b50 ...
- Delphi for iOS开发指南(1):在Mac上配置你的开发环境
http://cache.baiducontent.com/c?m=9d78d513d99516f11ab7cf690d678c3b584380122ba7a0020fd18438e4732b4050 ...
- 《iOS开发指南》要改iOS8版本了,听听您的意见?
<iOS开发指南>要改iOS8版本了,听听您的意见?参加问卷同学均可获得智捷课堂50元代金卡一张,同时抽取一名同学赠送即将出版的基于iOS8的<iOS开发指南>一本,欢迎大家填 ...
- 《iOS开发指南》正式出版-源码-样章-目录,欢迎大家提出宝贵意见
智捷iOS课堂-关东升老师最新作品:<iOS开发指南-从0基础到AppStore上线>正式出版了 iOS架构设计.iOS性能优化.iOS测试驱动.iOS调试.iOS团队协作版本控制.... ...
- 视频聊天插件:AnyChat使用攻略之iOS开发指南
AnyChat使用攻略之iOS开发指南 这套攻略主要指导刚开始使用AnyChat SDK For iOS的同学,快速搭建SDK环境,和实现音视频开发流程. (需要工程案例文件可联系我们) 在iOS平台 ...
随机推荐
- docker 入門
http://dockone.io/article/277 我的碎碎念:Docker入门指南 [编者的话]之前曾经翻译过很多Docker入门介绍的文章,之所以再翻译这篇,是因为Anders的角度很独特 ...
- Jakarta项目
Jakarta项目是ASF(The Apache Software Foundation)的一部分.ASF是一个非赢利组织,她鼓励基于开放的软件许可下进行合作.注重实效的开发,并提供各个领域的高质量软 ...
- My Goal For SE
2016年2月份,我开始进入软件工程的学习.作为一名大三学生,我对于此项课程,希望我自己能够通过制定学习目标来学好它. 首先,当我们在执行软件开发的时候,我们应该明确每个人的负责模块,我们应该明确自己 ...
- Android通过DeepLink方式跳转其他App传递参数
网上对于安卓DeepLink方式跳转传递参数的例子较少,说的也不客观,实践之后发现还是有一些坑.其实为什么要用DeepLink方式跳转,有些是因为引流的原因,他们希望通过网页就能直接跳转到App的界面 ...
- Labyrinth(记忆化BFS)
Labyrinth http://codeforces.com/problemset/problem/1064/D time limit per test 2 seconds memory limit ...
- js switch case注意事项
今天写switch的时候发现没有达到预期效果,参照w3school的写法发现语法一致 想了一下,js是弱类型语言,是不是不支持number?试了一下将数字改为字符串,果然可以了 或者可以这样写:swi ...
- swift UIAlertController使用 UIAlertController的宽度 为270
添加子控件 1. 有标题, alert标题高度大概 是 40, 子控件的 Y一般在40 ,如果中间有换行, \n 的高度大概是30 2.alert的宽度 是270, 设置frame 的时候注意 /// ...
- Rendering Resources
1. Real-Time Rendering Resources http://www.realtimerendering.com/ 2. Books on Amazon http://www.ama ...
- mvn 使用
简介 本文将介绍基于 Apache Maven 3 的项目构建的基本概念和方法.Maven 是一套标准的项目构建和管理工具,使用统一规范的脚本进行项目构建,简单易用,摒弃了 Ant 中繁琐的构建元素, ...
- Flask源码剖析详解
1. 前言 本文将基于flask 0.1版本(git checkout 8605cc3)来分析flask的实现,试图理清flask中的一些概念,加深读者对flask的理解,提高对flask的认识.从而 ...