选中Button1,在对象观察器窗口的事件(Events)页中选中OnClick事件(鼠标点击),鼠标双击其后的编辑处,IDE则自动初始化了一个Button1的OnClick事件处理过程(见代码编辑器窗口),转到代码编辑器窗口,在对应事件处理过程中编写如下代码:
procedure TForm1.Button1Click(Sender: TObject); begin
if edit2.Text = mima
then ShowMessage('Hello! '+edit1.Text) // 显示欢迎信息 else begin
edit2.SetFocus; // 使edit2获得焦点 edit2.SelectAll; // 全选edit2中的文本 end; end;
5.保存程序项目和单元 6.编译和执行
2. 设计一个如下图所示的Windows应用程序。设计时,在窗体上放置一个编辑框和一个列表框,向列表框添加“Standart”、“Additional”、“Win32”等三项,另向添加3个按钮,按钮的标签分别设为“添加”、“替换”、“删除”。针对不同组件对象编写适当的事件处理程序,使程序运行时实现下列功能:① 鼠标双击列表框的某一项时,编辑框显示该项内容;② 点击“添加”按钮,则将编辑框中的内容追加到列表框中,成为其新的一项;③ 点击“替换”按钮,则将编辑框的内容替换列表框的选择项;④ 点击“删除”按钮,则删除列表框的选择项。
实现步骤:
1.关闭原有项目,新建一个Application项目 2.设计窗体,添加组件和设置属性。
1)选中Form1,在对象观察器窗口中将其Caption属性编辑为“编辑列表”。 2)向窗体分别放置一个编辑框和一个列表框
,适当调整其大小和位置;选中列表
框Listbox1,在对象观察器窗口找到其Items属性(列表的项目),点击其后的钮,打开如下页图中所示的列表编辑对话框,添加“Standart”、“Additional”、“Win32”等三项内容。
3)向窗体添加3个按钮,依此分别选中某一按钮,并将Caption属性(按钮标签)分别设为“添加”、“替换”、“删除”。至此,完成窗体界面设计。
3.接下来,逐一选择组件对象,编写适当的事件处理程序,实现运行时的特定功能。 1)选中Listbox1对象,在对象观察器窗口的Event页找到OnDblClick事件(即鼠标双击列表框时发生的事件),双击其后空白处,编写如下代码,以实现第①项功能:
procedure TForm1.ListBox1DblClick(Sender: TObject); begin
edit1.Text:=listbox1.Items[listbox1.ItemIndex]; end;
其中ItemIndex属性是Integer类型,表示列表框的选择项。或使用如下语句:
edit1.Text:=listbox1.Items.Strings[listbox1.ItemIndex]; 2)选中“添加”按钮Button1,在对象观察器窗口的Event页找到OnClick事件,双击其后空白处,编写如下代码,以实现第②项功能:
procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.Items.Add(edit1.Text); // 列表框添加一项 end;
3)选中“替换”按钮Button2,在对象观察器窗口的Event页找到OnClick事件,双击其后空白处,编写如下代码,以实现第③项功能:
procedure TForm1.Button2Click(Sender: TObject); begin
listbox1.Items[listbox1.ItemIndex]:=edit1.Text; end; 4)选中“删除”按钮Button3,在对象观察器窗口的Event页找到OnClick事件,双击其后空白处,编写如下代码,以实现第④项功能:
procedure TForm1.Button3Click(Sender: TObject); begin
listbox1.Items.Delete(listbox1.ItemIndex); end;
4.保存程序项目和单元 5.编译并执行
实验习题
1.设计一个如下图所示的Windows应用程序,使其可进行加、减、乘、除四则运算,运算符由运行时在组合式列表框中选择,单击“=”按钮后,计算并显示结果,如除运算时除数为0,报告“除数不能为0!”的信息,并将输入焦点落于输入除数的编辑框。
提示:组合式列表框
ComboBox1的ItemIndex属性指示当前选项是哪一项,0表示
第一项,1表示第二项,2表示第三项,依此类推。
“=”按钮的OnClick事件处理程序参考如下:
procedure TForm1.Button1Click(Sender: TObject); var
a,b: real; begin
a:=strtofloat(edit1.Text); b:=strtofloat(edit2.Text);
case combobox1.ItemIndex of
0: edit3.Text:=floattostr(a+b); 1: edit3.Text:=floattostr(a-b); 2: edit3.Text:=floattostr(a*b);
3: if b<>0 then edit3.Text:=floattostr(a/b)
else application.MessageBox('除数不能为0!',
'提示信息',
MB_ICONWARNING);
end; end;
3.设计一个如下图所示的应用程序,在左边的列表框中编辑添入“乒乓球”、“羽毛球”、“网球”、“篮球”、“排球”、“足球”、“水球”、“冰球”、“棒球”、“橄榄球”等项;程序运行时,点击“>”按钮,则将左边列表框中的选项转移到右边,点击“<”按钮,则将右边列表框中的选项转移到左边。
提示:分别考虑单选和多选这两种情况下的不同实现方法。采用多选方式时,需将列表框的MultiSelect属性设置为True。
相关推荐: