带查询功能的combobox ( 积分: 100 )

  • 主题发起人 主题发起人 qlx_zxm@163
  • 开始时间 开始时间
Q

qlx_zxm@163

Unregistered / Unconfirmed
GUEST, unregistred user!
带查询功能的combobox是怎么做的呀,有没有第三方控件可方便实现啊,具体功能就是,当一个combobox的item太多的时候录入很不方便,要求在combobox中敲空格就可弹出一个检索的框,可通过输入拼音码或汉字查询出相应的项目,然后双击即可实现录入,另外还想问一下,有没有可方便实现combobox与数据库的某个表的某个字段的数据的绑定,而不用combobx.item.add();
 
我见过一些delhpi程序是有带查询功能的combobox的呀,这里难道没人做过吗?各位大侠,帮帮忙啊,先谢谢了
 
vprocedure TForm1.ComboBox1Change(Sender: TObject);
var
thepchar : array[0..79] of char;
thestring : string;
theindex: integer;
begin
if combobox1.text <> '' then
begin
strpcopy(thepchar,combobox1.text);
theindex := sendmessage(combobox1.handle,cb_selectstring,-1, longint(@thepchar));
sendmessage(combobox1.handle,cb_settopindex, theindex,0);
end
else
begin
sendmessage(combobox1.handle,cb_setcursel,-1,0);
sendmessage(combobox1.handle,cb_settopindex,0,0);
end;
end;
 
DBcombobox , lookupcombobox
这些都可能与字段关联
我一般的处理是先把字段对应的记录写到combobox里item,在combobox里输入时就实时检索
 
还是没办法解决问题啊[:(][:(][:(][:(][:(]
 
我觉得是你所提问的问题表达不清。他们的回答已可以解决你的问题了。若果你认为不正确的话。请把你的问题以实例形式提问可能会更好些。(请测试一下我所给的源代码)
procedure TForm1.ComboBox1Change(Sender: TObject);
var
thepchar : array[0..79] of char;
thestring : string;
theindex: integer;
begin
if combobox1.text <> '' then
begin
strpcopy(thepchar,combobox1.text);
theindex := sendmessage(combobox1.handle,cb_selectstring,-1, longint(@thepchar));
sendmessage(combobox1.handle,cb_settopindex, theindex,0);
end
else
begin
sendmessage(combobox1.handle,cb_setcursel,-1,0);
sendmessage(combobox1.handle,cb_settopindex,0,0);
end;
end;
 
接受答案了.
 
后退
顶部