bug dbgrid?

Delphi

29/05/2008

coloquei um dbgrid com a propriedade dbediting := false;

e um botao com o caption &Alterar === alt + a ... ativa o botao



mas se o foto tiver no dbgrid e precionar apenas a ele executao o botao pq? sem tem segurado alt?


Guibas

Guibas

Curtidas 0

Respostas

Paulo

Paulo

29/05/2008

Não entendi nada do que vc escreveu. Seja mais explicito, valeu!!!!


GOSTEI 0
Guibas

Guibas

29/05/2008

TENHO EM UM FORM UM DBGRID COM OPÇÃO DGEDITING = TRUE E UM TBUTTON COM O CAPTION = &TESTE
ONDE FICA O ATALHO ALT + T


SÓ QUE SE O FOCO ESTÁ NO DBGRID E PRECIONO A TECLA T (SEM APERTAR A TECLA ALT) ELE CHAMA O BOTAO... ONDE DEVERIA SER PRECISO O ALT + T


TEM COMO RESOLVER ISSO PRA QDO O FOCO ESTIVER NO DBGRID SÓ CHAMAR O BOTAO COM ALT + T E NÃO APENAS T COMO ACONTECE EM QUALQUER OUTRO OBJETO DO FORM?


GOSTEI 0
Steve_narancic

Steve_narancic

29/05/2008

Isto é um padrão do windows, pode fazer o teste em forms do sistema operacional, colocando o foco em um componente não editavel e pressionando a tecla de atalho de um botão, vc vera que será executado.

tenho a rotina pra tratar isso vou ver e posto aqui pra voces


GOSTEI 0
Paulo

Paulo

29/05/2008

Guibas, acabei de fazer uns testes aqui e comigo não dá esse erro. Coloquei um DBGrid, um botão e fiz os testes e nada. Só funcionava com ALT+B, no meu caso. Veja aí alguns eventos e que estão neles e ve se não é isso. valeu!!!! Qualquer coisa, poste aí.


GOSTEI 0
Steve_narancic

Steve_narancic

29/05/2008

Guibas, acabei de fazer uns testes aqui e comigo não dá esse erro. Coloquei um DBGrid, um botão e fiz os testes e nada. Só funcionava com ALT+B, no meu caso. Veja aí alguns eventos e que estão neles e ve se não é isso. valeu!!!! Qualquer coisa, poste aí.


Voce alterou a propriedade options da grid, setando dgeditng pra false????


GOSTEI 0
Paulo

Paulo

29/05/2008

o dele está true


GOSTEI 0
Steve_narancic

Steve_narancic

29/05/2008

muda pra false, que ira ocorrer o que o colega descreveu


GOSTEI 0
Guibas

Guibas

29/05/2008

se tiver posta ai a rotina pra tratar isso

vlw cara...


GOSTEI 0
Steve_narancic

Steve_narancic

29/05/2008

no evento onShortCut do Form:

//Desconsiderar os atalhos dos botões [&] quando estiver em um componente não digitavel
  if (Screen.ActiveControl is TRadioButton) or (Screen.ActiveControl is TCustomCheckBox) or ((Screen.ActiveControl is TDBGrid) and (not(dgEditing in TDBGrid(Screen.ActiveControl).Options))) then
  begin
    if not ((Msg.CharCode = VK_Space) or (Msg.CharCode = VK_Return) or (Msg.CharCode = VK_Tab ) or
            (Msg.CharCode = VK_F1) or (Msg.CharCode = VK_F2) or (Msg.CharCode = VK_F3) or
            (Msg.CharCode = VK_F4) or (Msg.CharCode = VK_F5) or (Msg.CharCode = VK_F6) or
            (Msg.CharCode = VK_F7) or (Msg.CharCode = VK_F8) or (Msg.CharCode = VK_F9) or
            (Msg.CharCode = VK_F10) or (Msg.CharCode = VK_F11) or (Msg.CharCode = VK_F12) or
            (Msg.CharCode = VK_Down) or (Msg.CharCode = VK_UP) or (Msg.CharCode = VK_Left) or (Msg.CharCode = VK_Right) or
            (Msg.CharCode = VK_PRIOR) or  (Msg.CharCode = VK_NEXT))
    then Abort;
  end



GOSTEI 0
POSTAR