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

<*> 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