在加了这句后
DBcbx_Name.Items.Clear;
在文本框里输入字符都会跳到前面去,非常不方便,怎么能解决这个问题?

解决方案 »

  1.   

    不太明白你的意思.是不是焦点的问题(.SetFocus) 还是TabOrder...
      

  2.   

    procedure Tf_new_CustomInfo.DBComBoBox1Change(Sender: TObject);
     begin 
      with ADOQuery1 do
        begin
          Close;
          SQL.Clear;
          SQL.Add('select Name from aaa where Name like :a');
          Parameters.ParamByName('a').Value := '%'+DBComBoBox1.Text+'%';
          Open;
        end;
      DBComBoBox1.Items.Clear;//就是这句,每次输入字符会使光标跑到字的前面,去掉又不行
      while not ADOQuery1.Eof do
        begin
          DBComBoBox1.Items.Add(ADOQuery1.FieldValues['name']);
          ADOQuery1.Next;
        end;
    end;
    在DBComBoBox1输入字符的时候光标总会跑到前面去,不知用ComBoBox会不会这样?
      

  3.   

    很显眼,你用的参数值就是你输入的值,光标那当然会跳到你刚输入的值上啦!  
        SQL.Add('select Name from aaa where Name like :a');
          Parameters.ParamByName('a').Value := '%'+DBComBoBox1.Text+'%';
          DBComBoBox1.Items.Add(ADOQuery1.FieldValues['name']);
      

  4.   

    多谢grjs2004(在岸边钓不到大鱼,只好下水去摸虾米!) 
    在DropDown事件就没有这个问题了