Array
(
)

Existe alguma forma d não setar foco em lugar nenhum?

Janete
   - 14 set 2004

Dá pra não setar foco em lugar nenhum, eu gostaria disso para não ficar com o foco em campos q seu datasource esteja desativado, existe algum comando pra isso, pois logo no form show ele já fica automaticamente com o foco no primeiro campo e a não está em modo de inclusão ainda


Leonardoffsilva
   - 14 set 2004

Usando uma maneira bem simples: no evento on-show dá um setfocus() em um objeto StaticText qualquer, isso vai tirar o foco do objeto de edição.


Reginaldo174
   - 15 set 2004

Acredito que a forma mais segura de se fazer isso seria colocar todos dbedit´s dentro de um panel e desabilitar. Assim que o usuário clicar em incluir novo registro, vc habilita o panel. Isso evitar que vc ouça :


Citação:
UÉ TINHA QUE CLICAR NESTE BOTÃO ???



Dessa forma vc vai diminuir a margem de erro. Pois os usuários de sistemas querem que o sistema faça tudo sozinho.


Aroldo Zanela
   - 15 set 2004

Colega,

No exemplo abaixo, eu estou desativando a propriedade do componente de receber o foco no evento OnCreate do formulário. Usei componentes TEdits apenas para simular:

#Código

var i: Integer;
begin
with Form1 do
for I := 0 to ComponentCount - 1 do
if Components[i] is TEdit then
TEdit(Components[i]).TabStop := false;


No evendo OnNewRecord você deve fazer o inverso. Você pode também substituir TEdit(Components[i]).TabStop por TEdit(Components[i]).Enabled que o efeito é mais adequado.