Delphi 7 com não repetir codigo if key = #13 nos dbedits
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;
If key = #13 then
DbMarca.SetFocus;
if key ....
db.....setfocus;
Marcelo Augusto
Curtidas 0
Respostas
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:
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.
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
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
Abraços
GOSTEI 0
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
Abraços
Valeu Joel, um abraço, funcionou perfeitamente;
GOSTEI 0