要实现的功能如下:ComboBox对应一个表, 这个表里有拼音码的一个字段,在Combobox里输入一个字母时,在下列筐里自动列出与之相关的内容,如果鼠标点Combobox的下拉尖头的时候,则列出全部的内容。实现函数如下:但有问题
1、鼠标点Combobox的下拉尖头时什么也没有,
2、输入拼音码的时候,鼠标的箭头没有了,
3、想要当输入拼音码选好后, 在ComboBox离开焦点的时候判断,选的这个值在数据表里有?没有的话做提示.procedure TfrmInWeight.sycb(cb:tcombobox;fielda:string;field_srm:string;tablename:string);
var
i:integer;begin
//
  if cb.Text <> cb.Items.Strings[cb.ItemIndex] then
  begin
    qyTemp.Close;
    qyTemp.SQL.Clear ;
    qyTemp.SQL.Add('select '+fielda+' from '+tablename+' where '+field_srm+' like '
             +#39+'%'+cb.Text+'%'+#39);
    qyTemp.Open ;
    cb.Items.Clear ;
    for i:= 0 to qyTemp.RecordCount -1 do
      begin
        cb.Items.Add(Trim(qyTemp.FieldByName(fielda).AsString));
        next;
      end;    //
    cb.DroppedDown := false;
      if cb.Items.Count > 12 then
        cb.DropDownCount := 12
      else
        cb.DropDownCount := cb.Items.Count ;
       cb.DroppedDown:=false;     sendmessage(cb.handle,CB_SHOWDROPDOWN,1,0);
     cb.SelStart :=Length(cb.text);
  end;end;
procedure TfrmInWeight.DriNameChange(Sender: TObject);
begin//调用sycb(DriName,'DriName','spellCode','Driver');
end;