[译]Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项

  • 主题发起人 主题发起人 DelphiTeacher的专栏
  • 开始时间 开始时间
D

DelphiTeacher的专栏

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项







FireMonkey iOS应用程序中实现一个选择器



iOS平台上,FireMonkey使用TComboBox组件来封装选择器组件:

nrqNE0hzj8qKJiYw6n3PqL5JbY-B57H3.png



要定义一个选择器并且列出可以选择的项目:

1. 选择File>New>FireMonkey Mobile Application – Delphi>Blank Application

2. Tool Palette中选择TComboBox组件,然后拖到FireMonkey Mobile Form Designer上去。

要找到TComboBox,在ToolPalette的搜索框中输入开头的几个字母(“Com”):

nrqNE0hzj8qKJiYw6n3PqL5JbY-B57H3.png

3. 在你拖好控件之后,你就可以在Form Designer上看到这个TComboBox组件了。

右击TComboBox组件,选择Items Editor…

nrqNE0hzj8qKJiYw6n3PqL5JbY-B57H3.png

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

nrqNE0hzj8qKJiYw6n3PqL5JbY-B57H3.png

5. Structure View中,选择ListBoxItem1(列表中的第一项)。

6. Object Inspector中,编辑ListBoxItem1Text属性。

在这个例子中,(USA55个州),第一项为“Alabama”。

nrqNE0hzj8qKJiYw6n3PqL5JbY-B57H3.png

7. 也把其他项目编辑好,例如AlaskaArizonaArkansasCaliforniaColorado,等等。

8. iOS SimulatoriOS 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函数根据一个格式字符串以及参数数组来返回一个格式化的字符串。

nrqNE0hzj8qKJiYw6n3PqL5JbY-B57H3.png




















翻译的不好,请大家贱谅!

欢迎加入OrangeUI For FMX 技术支持QQ群10900297





作者:DelphiTeacher 发表于2013/5/14 10:19:31 原文链接
阅读:1695 评论:0 查看评论

查看更多...
 
最后编辑:

Similar threads

D
回复
0
查看
815
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部