Usar o Enter como Tab no Grid, no meu caso, já funciona direitinho, o meu problema é como sair do DBGrid, usando o teclado.
> ----- 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 <*> 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