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

Delphi

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

Janete

Curtidas 0

Respostas

Leonardoffsilva

Leonardoffsilva

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


GOSTEI 0
Reginaldo174

Reginaldo174

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

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.


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

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

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.


GOSTEI 0
POSTAR