Fórum como abrir a lista do DBLookpBox pressionando ENTER #216983
27/02/2004
0
Farjola
Curtir tópico
+ 0Posts
27/02/2004
Marco Salles
procedure TFormVenda.DBLookupComboBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=Vk_Return Then Key:=Vk_Down; end;
Gostei + 0
27/02/2004
Farjola
tentei colocar o seguinte também:
procedure TForm1.DBLookupComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if DBLookupComboBox1.KeyValue <> #13 then
DBLookupComboBox1.DropDown;
end;
Só que ele abre e fecha muito rapido, e abre também com a seta para baixo.
Gostei + 0
28/02/2004
Marco Salles
Var ParaTras:Boolean=False; Conteudo:String; Inicio:String; Fim:Inicio:
Defina Logo Apos a Secção {$R *.DFM} A Seguninte Funçao
Function VerificarIndiceAtualDoDbLook:Boolean; begin if Conteudo=Fim Then Result:=True; If Conteudo=Inicio Then Result:=False; end;
Para a Etapa Segunte , NECESSITAMOS DE UMA DEFINIÇÃO:No Meu Código, A Tabela2, é a Tabela Cujo Os Item Irão Aparecer No DBLookupComboBox1....Esta Parte é Importante Que Voce Entenda, Por Que Ela é Principal...
No Evento OnShow Do Seu Formulário
procedure TForm1.FormShow(Sender: TObject); begin Table1.Open; //Se Ainda Não Estiver Aberta Table2.Open; ////Se Ainda Não Estiver Aberta Table2.Last; Fim:=Table2NomeCampoDaTabela2; Que Voce Quer Que Apareça No "DbLookComboBox" Table2.First; Inicio:=Table2NomeCampoDatabela2; //Que Voce Quer Que Apareça No "DbLookComboBox" Codigo:=DBLookupComboBox1.Text; ParaTras:=VerificarIndiceAtualDoDbLook; end;
Para Finalisar Devemos Manipular Dois Outros Evento:
procedure TForm1.DBLookupComboBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=Vk_Return if Not ParaTras Then Key:=Vk_Down else Key:=Vk_Up; end; procedure TForm1.DBLookupComboBox1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin Codigo:=DBLookupComboBox1.Text; ParaTras:=VerificarIndiceAtualDoDbLook; end;
Testei Este Código Exaustivamente...Funcionou Desta Forma:Quando o
DBLookupComboBox1 Estiver Selecionado Ao Aplicarmos Um <Enter>
Os Items Do DBLookupComboBox1 São Passados Em Ordem Crescente Ou Decrescente...
O Fato De Não Conhecer Um Método Que Me Retorne o Inicio Ou Fim Dos Items Do DBLookupComboBox1 Dificulta a Implementação...Então Tive Que Faze Esta Etapa Na Marra...Espero Que, Se Alguem Conhecer Este
Método , Que Nos Esclareça...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)