Prezados,
Estou com um problema curioso num form da minha aplicação em Lazarus, o problema é o seguinte:
Quando um determinado form de pesquisa é apresentado ao invés do foco ficar no Edit que receberia o valor para pesquisa o foco fica no SystemMenu da janela?!?!? Com isso, quando o usuário digita algum valor para ser consultado, o primeiro dígito é ignorado passando a entrar a partir do segundo. É como se o edit não estivesse com o foco, mas recebendo só depois que o usuário pressiona a primeira tecla, no caso o primeiro dígito, logo entra o valor incorreto. Ex.: para "1234" entra "234";
Sei que é o SystemMenu que está no foco, pois se teclo [Enter] assim que esse form abre, ele aparece.
Já fiz diversos testes como:
Mostrar o componente ativo num label quando o form é aberto (o edit está lá);
Colocar EditX.setFocus no OnShow do Form;
Usar o EditX no ActiveControl do Form...
Nada disso resolveu.
Resolvi retirando a borda e colocando um botão para fechar, mas confesso que gostaria de entender o por que disso e como resolver sem esse quebra galho.