Clipper On Line • Ver Tópico - Não permitir o uso da tecla TAB

Não permitir o uso da tecla TAB

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Não permitir o uso da tecla TAB

Mensagempor Toledo » 18 Set 2010 11:30

Amigos, eu tenho um cliente que está muito acostumado em usar a tecla TAB para mudar o focu de um campo para outro em formulários na internet. E no meu programa ele também está usando o TAB ao invés da tecla Enter. O problema é que em alguns campos existem validações que só ocorrem se for pressionada a tecla Enter.
Bom, existe uma maneira de não permitir o uso da tecla TAB dentro de um formulário com a MiniGui?

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Maligno » 18 Set 2010 12:07

Não seria mais prático configurar o evento da tecla TAB para responder como se fosse ENTER?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6390
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 14 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Toledo » 19 Set 2010 09:08

Olá Maligno, as validações geralmente estão em campos TextBox, que não tem evento para a tecla TAB. Mas um dos eventos do TextBox é OnLostFocus, que é executado quando se perde o focu do campo. Então acho que vou colocar neste evento as validações, assim não importa se foi usado Enter ou TAB.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Stanis Luksys » 19 Set 2010 20:17

Olá Toledo!

Eu sempre uso o OnLostFocus quando necessito de alguma validação direta no campo. No entanto, isso só é válido se algum outro objeto (textbox, label etc) for atualizado por causa deste primeiro, algo como antigo GET...WHEN do Clipper.

Na programação em modo GUI é mais comum e prático colocar validações centralizadas no final do formulário, por exemplo no botão "Ok" ou seja lá o que for. No evento da tecla Enter é impossível realizar tarefas de validação a menos que se desabilite o referido botão, o que daria muito mais trabalho, apesar de que fica bem legal também.

Mas a validação no final fica interessante também porque com uma função simples você pode retornar ao formulário já decorando os campos com erros e fazendo outras frescuras. Alguns programas já deixam o campo vermelhinho por padrão, e só branqueam ele na validação do onLostFocus ou mesmo pelo onChange... Enfim, as possibilidades são inúmeras, e eu prefiro validar tudo no fim.

Mudando de assunto... Você chegou a testar a hbqt? Estou cada dia mais surpreso com ela, vocês que acomapanharam minhas postagens durante um bom tempo viram o quanto eu defendia MiniGUI, porque era mesmo a melhor acredito eu... No entanto hoje em dia não há comparação, a hbqt está disparadamente na frente de qualquer outra lib gráfica para xHarbour, incluindo as pagas, em termos de recursos, número de objetos etc. Dá uma olhada na documentação da Qt propriamente, é impressionante. Não é a toa que MiniGI vai tentar usar a Qt agora... Mas essa historia é velha, faz 4 anos que iam usar a GTK e até hoje nada... Se o programa não for grande, eu mudaria pra hbqt enquanto é tempo. A MiniGUI tende a morrer, só não tão rápido porque já deu tempo de deixar um legado.

Abraços.
Editado pela última vez por Stanis Luksys em 19 Set 2010 20:36, num total de 1 vezes
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar de usuário

Stanis Luksys
Colaborador

Colaborador
 
Mensagens: 1329
Data de registro: 18 Jun 2005 03:04
Cidade/Estado: São Paulo
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Maligno » 19 Set 2010 20:31

você pode retornar ao formulário já decorando os campos com erros e fazendo outras frescuras

Já acho que a decoração afrescurada fica bem melhor, ou como Aninha diria, mais chic (ui), quando ela é feita conforme a digitação é avaliada. Exemplo:

http://pub.buzinello.com/tools/valdoc.zip

Até porque, como se vê nesse programa, nem sempre se tem um "ok" no final.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6390
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 14 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Stanis Luksys » 19 Set 2010 20:39

Opa,

Eu estava editando lá o post anterior pra não ficar criando mais, mas vocês como sempre muito rápidos...

Pois é, neste caso pode-se usar o OnChange... Fica dez mesmo!

De qualquer forma, ao meu ver, uma validação final é imprescindível, e pode-se usar as mesmas funções que se usou no onChange de cada objeto, o que facilita bastante.

Eu gosto bastante de tentar seguir o padrão, com três botões, "Cancelar", "Aplicar" e "Ok". Embora nem sempre seja útil, é padrão universal e qualquer macaco já entende o que faz cada um... rs

Abraços.

PS: Não consigo executar o valdoc.exe no Linux, mas entendi pela mensagem.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar de usuário

Stanis Luksys
Colaborador

Colaborador
 
Mensagens: 1329
Data de registro: 18 Jun 2005 03:04
Cidade/Estado: São Paulo
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Stanis Luksys » 19 Set 2010 20:51

Eu ia editar, mas vou postar mais um... rs

No caso, me parece importante sempre ter ao menos um botão que faça o que só seria possível através do teclado, por uma questão de acessibilidade.

Quando eu digo de usar os três botões padrões, me refiro, claro, a programas que vão gravar alguma coisa em algum lugar, se for validação simples que fica só na memória, não tem porquê.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar de usuário

Stanis Luksys
Colaborador

Colaborador
 
Mensagens: 1329
Data de registro: 18 Jun 2005 03:04
Cidade/Estado: São Paulo
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Maligno » 19 Set 2010 20:56

Ops. Desculpe. Esqueci de dizer que o programa é Windows. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6390
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 14 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Toledo » 20 Set 2010 07:41

Stanis Luksys escreveu:No entanto, isso só é válido se algum outro objeto (textbox, label etc) for atualizado por causa deste primeiro


Stanis, este é o meu caso! Nestas validações eu altero o valor de labels, mudo a opção inicial de combobox, permito ou não a edição de certos textbox, etc.

Mas já está resolvido, mudei todas as validações para o evento OnLostFocus.

Stanis Luksys escreveu:Você chegou a testar a hbqt?


Sim, estou acompanhando a evolução da HBQT com Harbour desde novembro do ano passado.

Stanis Luksys escreveu:Não é a toa que MiniGI vai tentar usar a Qt agora...


Estou também acompanhando a HMG 4, que está em desenvolvimento em QT e toda orientada a objeto. Pelos exemplos postados, achei mais fácil a programação em QT via MiniGui. Se o Roberto Lopez conseguir levar esta versão adiante e migrar a IDE da MiniGui para gerar código em QT (já em desenvolvimento), a MiniGui não vai morrer tão fácil não. Inclusive, a instalação da MiniGui (HMG4) para desenvolver em QT é bem mais fácil, basta instalar a HMG4 e pronto. Você não precisa ficar instalando a QT, compilando LIBs, configurando ambiente, etc. Junto com a Minigui já vem uma versão da QT. Ai é só usar o BUILD.BAT para compilar os exemplos.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Stanis Luksys » 20 Set 2010 14:19

Olá,

É verdade, acho que exagerei ao dizer que MiniGUI vai morrer, até mesmo porque se a migração da HMG para esta nova versão que usa a Qt for indolor, com a mesma sintaxe, vai ficar jóia!

Eu achei sacanagem que esta versão da HMG só está sendo distribuida em versão .exe instalável, e não tenho como instalar no Linux. Não custava nada os caras colocarem um zip lá... Eu fiquei curioso pra ver o código da lib em sí. Eu gostei da forma como a hbqt está estruturada, pode-se dizer que ela não adiciona nada ao que tem a Qt.

Já a MiniGUI tem muitas funções prontas interessantes, mesmo que simples, como MsgInfo() e este tipo de coisa. Se todas elas forem mantidas usando a Qt, a lib vai ficar mais completa que a própria hbqt, onde você precisa fazer isso na mão.

Abraços.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar de usuário

Stanis Luksys
Colaborador

Colaborador
 
Mensagens: 1329
Data de registro: 18 Jun 2005 03:04
Cidade/Estado: São Paulo
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Toledo » 20 Set 2010 14:34

Stanis Luksys escreveu:Eu achei sacanagem que esta versão da HMG só está sendo distribuida em versão .exe instalável


Stanis, já tem versões para Linux e MacOS! Veja o link abaixo:

http://sourceforge.net/projects/hmg/files/

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Re: Não permitir o uso da tecla TAB

Mensagempor Stanis Luksys » 20 Set 2010 16:57

Toledo,

Já baixei e está tudo compilando e funcionando perfeitamente bem.

Eu lí partes do código da LIB e ela nada mais é do que uma implementação da hbqt. Ou seja, dá uma nova roupagem a sintaxe padrão da Qt, através de classes. Não mantém compatibilidade com a sintaxe anterior da MiniGUI.

Não sei, precisamos aguradar a avolução desta lib... No momento me parece mais simples para quem quer usar os recursos da Qt no harbour, usar a lib hbqt mesmo.

Abraços.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar de usuário

Stanis Luksys
Colaborador

Colaborador
 
Mensagens: 1329
Data de registro: 18 Jun 2005 03:04
Cidade/Estado: São Paulo
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Não permitir o uso da tecla TAB

Mensagempor microvolution » 06 Abr 2019 00:17

Nobres professores, em primeiro lugar, obrigado por lerem e ao Toledo por este fórum existir.

Bom, o link não mais funciona.
Nunca entendi bem a questão do LOSTFOCUS, GOTFOCUS.
O ONENTER até que entendo "mais ou menos", mas, de tanto vasculhar nunca encontrei o tipo de ONTAB. Então, testei do jeito abaixo. Se, estiver correto, pode ser que ajude a alguém a entender:
ONLOSTFOCUS  { || iif (fSENHA ( This.Value ) , DoMethod("Login","PassWord","SetFocus") , This.Setfocus ) }
ONENTER   { || fSENHA (This.Value) }

ou se alguém dos professores tiver algo melhor, por enquanto o que tenho é só.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro