您的位置:首页 > 编程语言 > Delphi

Delphi中如何使用TEdit控件和TListBox控件组合使用达到TComboBox控件一样的效果呢?

2014-01-10 21:41 771 查看
如何用TEdit控件+TListBox控件实现和TComboBox控件一样的效果呢?

首先:

向界面拖一个TEdit控件和TListBox控件,将TListBox控件放到TEdit控件正下方。

取名分别为:edt1和lstbox。

其次:

给TEdit控件添加一个OnClick事件或者OnKeyDown事件,例如:OnClick事件。
procedure Tfmainform.edt1Click(Sender: TObject);
begin
lstbox.Show;
lstbox.SetFocus;
lstbox.ItemIndex := 0;
end;


或者:添加键盘上个的KeyDown事件(记键盘上的PgDn键子)
procedure Tfmainform.edt1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = vk_next then
begin
lstbox.Show;
lstbox.SetFocus;
lstbox.ItemIndex := 0;
end;
end;


最后:

给TListBox控件添加一个双击事件,例如:OnDbClick事件。
procedure Tfmainform.ListBoxDblClick(Sender: TObject);
begin
edt1.Text := lstbox.Items[lstbox.itemIndex];
lstbox.Hide;
end;


这样我们就实现了一个和TComboBox控件一样的效果了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息