Já havia tentado isso, e pula o componente Edit1 também e vai para o Edit2, 
eu só não entendi o porquê.

----- Original Message ----- 
From: "Osmar de Souza Júnior" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Friday, July 08, 2005 1:46 PM
Subject: [delphi-br] Re: DBGrid - Como sair dele usando teclado?



Se o seu form está com KeyPreview = True, ele deve estar chamando
SelectNext() duas vezes. Quando pressiona Enter, ele executa a chamada
do form. Depois executa a chamada que você colocou:

if dbgTitulos.Fields[0].Text = '' then
 SelectNext (ActiveControl,True,True);

De repente, teste aí, se você explicitar o foco onde quer, no OnColExit():

if dbgTitulos.Fields[0].Text = '' then
  Edit1.SetFocus();

--- Em delphi-br@yahoogrupos.com.br, "Marcelo" <[EMAIL PROTECTED]>
escreveu
> Usar o Enter como Tab no Grid, no meu caso, já funciona direitinho,
o meu
> problema é como sair do DBGrid.
>
> ----- Original Message ----- 
> From: "Osmar de Souza Júnior" <[EMAIL PROTECTED]>
> To: <delphi-br@yahoogrupos.com.br>
> Sent: Friday, July 08, 2005 8:54 AM
> Subject: [delphi-br] Re: DBGrid - Como sair dele usando teclado?
>
>
>
>
> Para usar Enter como Tab nos meus grides, eu faço assim:
> - Repare que não uso SelectNext()...
>
>
> procedure TfmCad_Checagem.grideKeyPress(Sender: TObject; var Key: Char);
> begin
>   inherited;
>
>   if (Key = #13) then
>   begin
>     if (HiWord(GetKeyState(VK_SHIFT)) <> 0) then
>     begin
>       with (Sender as TwwDBGrid) do
>         if (SelectedIndex > 0) then
>           SelectedIndex := SelectedIndex - 1
>         else
>         begin
>           DataSource.DataSet.Prior;
>           SelectedIndex := FieldCount - 1;
>         end;
>     end
>     else
>     begin
>       with (Sender as TwwDBGrid) do
>         if (SelectedIndex < (FieldCount - 1)) then
>           SelectedIndex := SelectedIndex + 1
>         else
>         begin
>           DataSource.DataSet.Next;
>           SelectedIndex := 0;
>         end;
>     end;
>
>     Key := #0
>   end;
> end;
>
>
> --- Em delphi-br@yahoogrupos.com.br, "Marcelo" <[EMAIL PROTECTED]>
> escreveu
> > Olá pessoal!
> > Sou iniciante e tenho a seguinte dúvida:
> > Num DBGrid tenho 3 colunas Título, Vcto, Valor e gostaria de qdo
> desse um enter no campo título em branco ele saísse do DBGrid e fosse
> para o componente seguinte, no caso Edit1
> > Uso o seguinte código no form para usar o Enter como Tab:
> >    if key = #13 then
> >       if not (ActiveControl is TwwDBGrid)  then
> >       begin
> >          SelectNext (ActiveControl,True,True);
> >          key := #0;
> >       end;
> > E o seguinte código no evento OnColExit do DBGrid:
> >    if dbgTitulos.SelectedIndex = 0 then
> >       if dbgTitulos.Fields[0].Text = '' then
> >          SelectNext (ActiveControl,True,True);
> >
> > Mas ele salta para o componente posterior ao Edit1, no caso, para o
> Edit2.
> > Como posso proceder?
> > Como vcs fazem pra sair de um DBGrid via teclado?
> >
> > Agradeço qualquer ajuda ou uma forma melhor de se fazer isso que
> pretendo.
> >
> > []´s
> > Marcelo
> >
> > [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
>  http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
>  [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
> Links do Yahoo! Grupos




-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos











-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a