录入时怎样达到列表框里输入数字时显示出可选的的内容?比如输一翻出01-塑料(100分)

  • 主题发起人 主题发起人 flyleaf88
  • 开始时间 开始时间
F

flyleaf88

Unregistered / Unconfirmed
GUEST, unregistred user!
录入时怎样达到列表框里输入数字时显示出可选的的内容?
比如输1,则列表框翻出01-塑料,数据库里存的内容是01?
 
利用onkeypress事件
procedure Tmycombobox.keypress(sender:Tobject;var Key: Char);
var dd0,dd1,dd:integer;
begin
dd0:=word(key);
dd:=dd0;
if (dd>=48) and (dd<=57) then
begin
dd1:=items.Count;
dd:=dd-48;
if dd=0 then
dd:=10;
//0为10
if dd>dd1 then
exit;
ItemIndex:=dd-1;
abort;
end;
end;
 
这个在十个以下可以,假如超过10个,比如01怎么办呢
还有一个问题,比如怎样实现象cookie那种输入方式
 
这只是一个例子,你完全可以自己修改:如:
nn:=strtoint(combobox.text);
if combobox.items.count>=nn-1 then
combobox.itemindex:=nn;
问一下:cookie是什么效果??
 
就是上次输入能在下拉条里反映出来呀
 
其实不用象myname说的那样麻烦,只要确保Combobox的Style属性为csDropDown,然后定义
它的两个事件:
procedure TForm1.Combobox1.KeyPress(Sender: TObject;
var Key: Char);
begin
if (key=#13) or (key=#9) then
//回车或tab键时跳到下一个控件。
begin
SelectNext(ActiveControl,true,true);
exit;
end;

Combobox1..DroppedDown :=true;
end;

procedure TFrom1.Combobox1Exit(Sender: TObject);
begin
Combobox1.DroppedDown :=false;
end;

这样就可以达到要求了。
 

Similar threads

D
回复
0
查看
832
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
679
DelphiTeacher的专栏
D
后退
顶部