desabilitar tab
como faço para desabilitar a tecla tab
Norotico
Curtidas 0
Respostas
Paulo_amorim
29/03/2004
Olá
No evento KeyPress, teste se a tecla eh tab
O código 0 nao realiza nada...
Até+
No evento KeyPress, teste se a tecla eh tab
if Key = #9 then { 9 ou VK_TAB }
Key := 0;O código 0 nao realiza nada...
Até+
GOSTEI 0
Norotico
29/03/2004
deu o seguinte erro:
undeclared identifier : ´key´
undeclared identifier : ´key´
GOSTEI 0
Paulo_amorim
29/03/2004
Olá
Isso deve ser programado no evento OnKeyPress do objeto...
clique no objeto desejado...
no object inspector, va nos eventos...
dois cliques no evento OnKeyPress
agora sim..programe ai dentro!
Até+
Isso deve ser programado no evento OnKeyPress do objeto...
clique no objeto desejado...
no object inspector, va nos eventos...
dois cliques no evento OnKeyPress
agora sim..programe ai dentro!
Até+
GOSTEI 0
Norotico
29/03/2004
O tab continuou funcionando
GOSTEI 0
Paulo_amorim
29/03/2004
O tab continuou funcionando
Olá
Me Desculpe, vc está certo. Isso soh funciona com outra tecla...nao o Tab por cuasa do Taborder...
Não consegui tirar o Tab aqui...
Espero que tenha sucesso
Até+
GOSTEI 0
Marco Salles
29/03/2004
Geralmente Se Usa o Evento onKeyDown Do Componente...Neste Evento Tente Isto:
If Key=VK_Tab Then Key:=0;
GOSTEI 0
Henry
29/03/2004
Amigo, mude a opção de tabulação dos objetos de seu programa para 0
GOSTEI 0
Marco Salles
29/03/2004
Amigo, mude a opção de tabulação dos objetos de seu programa para 0
Como se Faz Isto? Eu Sempre Desativei a Tecla Tab Usando o Código Citado :!: Voce Poderia Dar Mais Detalhe... Por Exemplo Tenho Tres Edit e Gostaria Que a Tecla Tab Não Operrasse Quando o Foco Estiver No Edit1.E Agora :?: :?:
GOSTEI 0
Henry
29/03/2004
Poow brother, mude a propiedade TabOrder de todos seus objetos pra 0.
GOSTEI 0
Fabio.hc
29/03/2004
Ou vc pode tentar assim:
Coloque esta rotina no formprincipal que desabilita o tab em toda a aplicação:
Coloque esta rotina no formprincipal que desabilita o tab em toda a aplicação:
Uses Grids procedure TForm1.MudarComEnter(var Msg: TMsg; var Handled: Boolean); begin If not ((Screen.ActiveControl is TCustomMemo) or (Screen.ActiveControl is TCustomGrid) or (Screen.ActiveForm.ClassName = ´TMessageForm´)) then begin If Msg.message = WM_KEYDOWN then begin Case Msg.wParam of VK_RETURN,VK_DOWN : Screen.ActiveForm.Perform(WM_NextDlgCtl,0,0); VK_UP : Screen.ActiveForm.Perform(WM_NextDlgCtl,1,0); VK_TAB: Msg.message:=0; end; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Application.OnMessage := MudarComEnter; end;
GOSTEI 0
Marco Salles
29/03/2004
Amigo, mude a opção de tabulação dos objetos de seu programa para 0
Infelismenmte Eu Não Consigo, Quando Tento Fazer Isto No Objeto Inspector o Delphi Automaticamente Ele Renomeia a Tabulação :?:
Quanto a Dúvida Do norotico , Ele Quer Desabilitar a Tecla Tab Em Um Componente Ou Em Toda Aplicação :?: :?:
GOSTEI 0
Paullus
29/03/2004
Que dor de cabeça hein galera...
hehehehe...
No formulário vocês devem setar a propriedade [b:bfc98ab4fd]KeyPreview[/b:bfc98ab4fd] para [b:bfc98ab4fd]true[/b:bfc98ab4fd]. Agora sim... dentro do OnKeyDown do [b:bfc98ab4fd]Formulário[/b:bfc98ab4fd] vocês colocam o código abaixo.
Fui!!!
hehehehe...
No formulário vocês devem setar a propriedade [b:bfc98ab4fd]KeyPreview[/b:bfc98ab4fd] para [b:bfc98ab4fd]true[/b:bfc98ab4fd]. Agora sim... dentro do OnKeyDown do [b:bfc98ab4fd]Formulário[/b:bfc98ab4fd] vocês colocam o código abaixo.
if Key = VK_TAB then Key := 0;
Fui!!!
GOSTEI 0
Paulo_amorim
29/03/2004
Olá
Enquanto tentava ajudar nosso colega, testei as soluçoes citadas
novamente agora tnetei denovo.
Marcos Salles, o OnKeyDown nao funciona para o Tab devido ao TabOrder...ele nem chega a testar o If.!!! funciona para qualquer outra coisa, mas o tab nao! :?
Henry, se vc muda o TabOrder de um componente para 0, ele muda o que era 0 para 1...
paullus, a mesma coisa do Marcos...o Tab funciona mesmo assim...
Agora fiquei curioso tambem... espero que seja encontrada aresposta
Até+
[]´s
Enquanto tentava ajudar nosso colega, testei as soluçoes citadas
novamente agora tnetei denovo.
Marcos Salles, o OnKeyDown nao funciona para o Tab devido ao TabOrder...ele nem chega a testar o If.!!! funciona para qualquer outra coisa, mas o tab nao! :?
Henry, se vc muda o TabOrder de um componente para 0, ele muda o que era 0 para 1...
paullus, a mesma coisa do Marcos...o Tab funciona mesmo assim...
Agora fiquei curioso tambem... espero que seja encontrada aresposta
Até+
[]´s
GOSTEI 0
Paulo_amorim
29/03/2004
Olá
Tentando, eu achei uma soluçao que eu acho ser a esperada
Mude a propriedade TabStop dos componentes que vc não quer acessar com o Tab para False...
Se vc nao quer o Tab funcionando, mude a propriedade de TODOS os componentes!
Até+
Tentando, eu achei uma soluçao que eu acho ser a esperada
Mude a propriedade TabStop dos componentes que vc não quer acessar com o Tab para False...
Se vc nao quer o Tab funcionando, mude a propriedade de TODOS os componentes!
Até+
GOSTEI 0
Fabio.hc
29/03/2004
ninguem testou a minha dica. :cry:
GOSTEI 0
Paullus
29/03/2004
É... realmente meu código não funcionaria. Olha o que eu achei no Help:
Specifies whether the form should receive keyboard events before the active control.
[b:5dbc0f6a3b]property [/b:5dbc0f6a3b]KeyPreview: Boolean;
[b:5dbc0f6a3b]Description[/b:5dbc0f6a3b]
If KeyPreview is True, keyboard events occur on the form before they occur on the active control. (The active control is specified by the ActiveControl property.)
If KeyPreview is False, keyboard events occur only on the active control.
[b:5dbc0f6a3b][u:5dbc0f6a3b]Navigation keys (Tab, BackTab, the arrow keys, and so on) are unaffected by KeyPreview because they do not generate keyboard events.[/u:5dbc0f6a3b][/b:5dbc0f6a3b]
KeyPreview is False by default.
GOSTEI 0
Paullus
29/03/2004
ninguem testou a minha dica. :cry:
Relaxa... ela é 100¬ certa.
(se a solução procurada não for via código)
GOSTEI 0
Marco Salles
29/03/2004
Marco Salles Escreveu:
E Quanto a Resposta Do Fabio.hc é 100¬ OK Porem Eu Já Tinha Levantado a Questão Anteriormente:
Agora Acho ue Nosso Amigo Norcotico Poderia Dar Mais Detalhe Para a Gente: Onde Ele Quer Desabilitar a Tecla Tab(Qual o Componente), Se e Em Toda aplicação(Ou Num Componente Especifico) etc...
´Geralmente Se Usa o Evento onKeyDown Do Componente´
O Que Eu Quis Dizer Com Isto é Isto [color=darkred:1ce7a5f183]´Depende´...[/color:1ce7a5f183]Por Exemplo Num Componente DbGrid Funciona, Num Componente Edit Não..Por Isto Que Usei o Termo [color=red:1ce7a5f183]´Geralmente´...[/color:1ce7a5f183]E Quanto a Resposta Do Fabio.hc é 100¬ OK Porem Eu Já Tinha Levantado a Questão Anteriormente:
Quanto a Dúvida Do norotico , Ele Quer Desabilitar a Tecla Tab Em Um Componente Ou Em Toda Aplicação
Agora Acho ue Nosso Amigo Norcotico Poderia Dar Mais Detalhe Para a Gente: Onde Ele Quer Desabilitar a Tecla Tab(Qual o Componente), Se e Em Toda aplicação(Ou Num Componente Especifico) etc...
GOSTEI 0
Paulo_amorim
29/03/2004
ninguem testou a minha dica. :cry:
Olá
Putz desculpa Fabio!!!!eu nao citei vc!! mas eu testei sim efunciona perfeitamente!
Desculpas :oops:
GOSTEI 0
Braytiner Heggendorn
29/03/2004
Galera encontrei um jeito não de desabilitar o TAB, mas sim de voltar obter a tecla, No evento OnKeyUp do Form a tecla é detectada diferentemente do OnKeyPress e OnKeyDown, aí é só fazer
if (Key = VK_TAB) and (Shift <> [ssShift]) then
begin
if ActiveControl.TabOrder > 0 then
SelectNext(ActiveControl, False, True);
Key:=VK_NONAME;
end;
if (Key = VK_TAB) and (Shift <> [ssShift]) then
begin
if ActiveControl.TabOrder > 0 then
SelectNext(ActiveControl, False, True);
Key:=VK_NONAME;
end;
GOSTEI 0