Fórum Preciso de ajuda com o FocusControl !!!!!! #166154

24/06/2003

0

Caros colegas

Tenho um DBGrid ao qual faço uma verificação em uma determinada coluna. Se esta verificação não retornar o valor correto, preciso que force o foco no campo até a informação for digitada corretamente. Estou usando o código abaixo, mas o foco não volta para o campo e assim continua sua navegação. Lembrando que a mensagem é ativada mais o foco não posiciona corretamente. Vc têm idéia do por quê???

if DBGridTMPP.SelectedField = DtSrcTMPP.DataSet.FindField(´TMPTPE´) then
if ( ( DBGridTMPP.Fields[1].AsString <> ´A´ ) and
( DBGridTMPP.Fields[1].AsString <> ´C´ ) ) then
begin
Application.MessageBox(´Tipo Inválido!´, ´Informação´, mb_ok + mb_iconinformation);
[b:4b0b104f8b]DBGridTMPP.Fields[1].FocusControl;[/b:4b0b104f8b] end;

O código acima acasiona o seguinte erro: Cannot focus a disabled or invisible window.


Já usei isto :> [b:4b0b104f8b]DBGridTMPP.SelectedIndex := 1;[/b:4b0b104f8b]
Mas também não funcionou.


Obrigado pela atenção
Gonçalves


Goncalves

Goncalves

Responder

Posts

24/06/2003

Aroldo Zanela

Gonçalves,

Ao atribuir um valor para propriedade SelectedIndex de um componente dbGrid você posiciona o foco na celula (Semelhante ao método SetFocus). No entanto, como vc está fazendo o teste dentro do aninhamento de um if referente a propriedade SelectedField, parece-me que há um erro de lógica, ou seja, você não está mais sobre a coluna ´TMPTPE´ e portanto não há como fazer a atribuição para SelectedIndex.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar