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

14/09/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


Janete

Respostas

14/09/2004

Leonardoffsilva

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.


Responder Citar

15/09/2004

Reginaldo174

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 :

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.


Responder Citar

15/09/2004

Aroldo Zanela

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:

var i: Integer;
begin
 with Form1 do
    for I := 0 to ComponentCount - 1 do
      if Components[i&93; is TEdit then
        TEdit(Components&91;i&93;).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.


Responder Citar