Delphi 7 com não repetir codigo if key = #13 nos dbedits

Delphi

25/04/2012

olá, pessoal estou construindo um prg e como faço para não ficar repetindo

If key = #13 then
DbMarca.SetFocus;
if key ....
db.....setfocus;
Marcelo Augusto

Marcelo Augusto

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

25/04/2012

Você pode selecionar todos os seus edits de uma vez e, no Object Inspector, ligá-los a um único evento onKeyPress.
Altere o TabOrder dos edits para que eles fiquem na sequência correta na tela e use o seguinte código:
if Key = #13 then
Perform(WM_NEXTDLGCTL, 0, 0);


Com isso, se o enter for pressionado, o próximo controle da tela receberá o foco (não necessariamente será um edit, pode ser qualquer controle que receba foco). Caso deseje que um certo controle não possa receber o foco através do tab, mude a propriedade TabStop para false.
GOSTEI 0
Wasley Portes

Wasley Portes

25/04/2012

Eu particularmente prefiro colocar esse código no evento KeyPress do Formulário Principal e setar a propriedade KeyPreview para True. Irá funcionar também.
Abraços
GOSTEI 0
Marcelo Augusto

Marcelo Augusto

25/04/2012

Eu particularmente prefiro colocar esse código no evento KeyPress do Formulário Principal e setar a propriedade KeyPreview para True. Irá funcionar também.
Abraços








Valeu Joel, um abraço, funcionou perfeitamente;
GOSTEI 0
POSTAR