急急急,如何像help那样,使用edit与listbox,listbox下的项目。。。。。(100分)

  • 主题发起人 主题发起人 chansin
  • 开始时间 开始时间
C

chansin

Unregistered / Unconfirmed
GUEST, unregistred user!
如何像help那样,使用edit与listbox,listbox下的项目根据edit输入的内容
不断自动调整到最相邻的纪录。最好edit已输入内容的后面还能有那种带加亮、蓝色的,
即显示listbox的当前纪录。
 
很简单,在 delphi 中有一专门做帮助的软件,是微软的产品,叫什么名字我忘了,在
delphi 目录下。用他做的帮助就和平时用的帮助一样。具体怎么用这个软件你还要查
相关资料。
 
可以把记录放在数据库中,在EDIT的OnChange中写SQL查询,在LISTBOX中反映出来就行
 
huiboy说得对!他做过这样的东西!
 
huiboy,能否请说清楚点,小弟刚入门,多指教。
 
看看一些combobox的增强,,内容差不多,我有一些控件的源代码,要吗?
loopy@netease.com
 
在EDIT的ONCHANGE事件里加入相应的代码即可!如下代码不知是否可以!
procedure TForm1.Edit1Change(Sender: TObject);
var i: Integer;
flag: Boolean;
begin
i := 0;
flag := false;
while ((ListBox1.Items.Count - 1) > i) and (not flag) do
begin
if StrComp(pChar(UpperCase(Edit1.Text)),
pChar(UpperCase(ListBox1.Items))) <= 0
then begin
flag := true;
ListBox1.ItemIndex := i;
end;
i := i + 1;
end;
end;
 
对不起,刚才有点BUG,现在是升级版本:
procedure TForm1.Edit1Change(Sender: TObject);
var i: Integer;
flag: Boolean;
begin
i := 0;
flag := false;
while ((ListBox1.Items.Count) > i) and (not flag) do
begin
if StrComp(pChar(UpperCase(Edit1.Text)),
pChar(UpperCase(ListBox1.Items))) <= 0
then begin
flag := true;
ListBox1.ItemIndex := i;
end;
i := i + 1;
end;
if i = ListBox1.Items.Count then ListBox1.ItemIndex := i - 1;
end;
 
还有,LISTBOX1.SORTED属性为TRUE
 
多人接受答案了。
 
后退
顶部