Página 1 de 1
Como capturar e enviar teclas pra dialog
Enviado: 11 Fev 2023 18:56
por JoséQuintas
Tem forma prática de capturar/enviar teclas pra dialog ?
Sei que SendKeys() da API Windows envia, tem algo pronto na hwgui?
Dialog aceita ON KEY DOWN ?
Como capturar e enviar teclas pra dialog
Enviado: 11 Fev 2023 19:06
por JoséQuintas
Errei.....
Na verdade é capturar em "gets", e enviar para os "gets".
E talvez o mais difícil: saber qual é o "get" ativo
Mas podem ser os dois casos, posso ter utilidade pros dois - dialog e get
Como capturar e enviar teclas pra dialog
Enviado: 11 Fev 2023 19:17
por Itamar M. Lins Jr.
Olá!
Tem funções para isso.
Por exemplo saber em qual get a pessoal digitou F1, para aparecer a ajuda daquele GET.
Saudações,
Itamar M. Lins Jr.
Como capturar e enviar teclas pra dialog
Enviado: 11 Fev 2023 19:21
por Itamar M. Lins Jr.
Olá!
Código: Selecionar todos
***************************
Function AjudaEmpresa(oVar)
***************************
*
*
Local sTxt:=""
If oCRT:Handle = hwg_Getfocus()
Text to File "CRT.TXT"
ANEXO ÚNICO
Códigos de Detalhamento do Regime e da Situação TABELA A Código de Regime Tributário CRT
1 Simples Nacional
2 Simples Nacional excesso de sublimite da receita bruta
3 Regime Normal
NOTAS EXPLICATIVAS:
O código 1 será preenchido pelo contribuinte quando for optante pelo Simples Nacional.
O código 2 será preenchido pelo contribuinte optante pelo Simples Nacional mas que tiver ultrapassado o
sublimite de receita bruta fixado pelo estado/DF e estiver impedido de recolher o ICMS/ISS por esse regime,
conforme arts. 19 e 20 da LC 123/2006.
O código 3 será preenchido pelo contribuinte que não estiver na situação 1 ou 2.
EndText
sTXT := memoread("CRT.TXT")
EndIf
If !empty(sTxt)
hwg_MsgInfo(sTxt)
EndIf
Código velho, tem outras formas de fazer mais simples, mas gostei do comando. rsrsrs
Sem a necessidade de gravar em disco.
Saudações,
Itamar M. Lins Jr.
Como capturar e enviar teclas pra dialog
Enviado: 11 Fev 2023 19:43
por JoséQuintas
Itamar M. Lins Jr. escreveu:If oCRT:Handle = hwg_Getfocus()
Deu no mesmo. De onde veio oCRT ?
E porque hwg_GetFocus() ?
Isso indicou o que, do que? veio de onde?
Como capturar e enviar teclas pra dialog
Enviado: 11 Fev 2023 21:41
por Itamar M. Lins Jr.
Olá!
É oCRT é o objeto.
Podendo ser qualquer objeto que pegue foco. OwnerButton não pega foco.
Saudações,
Itamar M. Lins Jr.
Como capturar e enviar teclas pra dialog
Enviado: 12 Fev 2023 09:23
por JoséQuintas
Mostrou um fonte que grava texto em disco, e um fonte com get.
Aonde capturou/enviou teclas ?
Como capturar e enviar teclas pra dialog
Enviado: 12 Fev 2023 12:49
por Itamar M. Lins Jr.
Olá!
Quando abrimos o DIALOG o FOCO fica em algum objeto.
Nisso você monitora via SET KEY onde está o foco ou VIA VALID, WHEN se for get ou ON KEYDOWN.
Código: Selecionar todos
#xcommand @ <x>,<y> GET [ <oEdit> VAR ] <vari> ;
[ OF <oWnd> ] ;
[ ID <nId> ] ;
[ SIZE <width>, <height> ] ;
[ COLOR <color> ] ;
[ BACKCOLOR <bcolor> ] ;
[ PICTURE <cPicture> ] ;
[ WHEN <bGfocus> ] ;
[ VALID <bLfocus> ] ;
[ ON KEYDOWN <bKeyDown>] ;
[ ON CHANGE <bChange> ] ;
[ ON INIT <bInit> ] ;
[ ON SIZE <bSize> ] ;
[<lPassword: PASSWORD>] ;
[ MAXLENGTH <nMaxLength> ] ;
[ STYLE <nStyle> ] ;
[<lnoborder: NOBORDER>] ;
[ FONT <oFont> ] ;
[ TOOLTIP <ctoolt> ] ;
//SET KEY 0,VK_F1 TO {||AjudaEstoque()} usava assim
Saudações,
Itamar M. Lins Jr.
Como capturar e enviar teclas pra dialog
Enviado: 12 Fev 2023 17:11
por JoséQuintas
É......
Um grande motivo pra não usar hwgui diretamente e usar herança. Vai evitar muita repetição de fonte.
Como capturar e enviar teclas pra dialog
Enviado: 13 Fev 2023 10:19
por JoséQuintas
Disse isso pelo seguinte:
Se é pra adicionar fonte em tudo que é GET, muito mais simples criar um controle por herança que já contenha o código fonte.
Ao invés de milhares de rotinas no aplicativo, passa a existir apenas uma.
E o mesmo referente estilos, cores e afins.
Como capturar e enviar teclas pra dialog
Enviado: 13 Fev 2023 10:37
por Itamar M. Lins Jr.
Olá!
Não estou entendendo.
Saudações,
Itamar M. Lins Jr.
Como capturar e enviar teclas pra dialog
Enviado: 13 Fev 2023 10:39
por Itamar M. Lins Jr.
Olá!
Talvez por isso não gosto de IDE´s que desenham.
Tem que colocar no FONTE TODOS os controles do objeto e que nem usamos.
REFATORAR, REFATORAR....
Saudações,
Itamar M. Lins Jr.
Como capturar e enviar teclas pra dialog
Enviado: 13 Fev 2023 11:14
por JoséQuintas
Foi essa a grande mudança do NET.
Na prática não usamos o que vém pronto, do jeito que vém pronto, sempre modificamos para o nosso jeito.
Ficar modificando um a um, é só ficar enchendo de fonte pra isso em tudo que é lugar.
Muitos ainda não perceberam isso, principalmente quando a LIB não é orientada a objeto.
Ficar criando tela em IDE obriga a isso.
Pra mim IDE é boa pra facilitar editar fonte, e também pra fazer referência cruzada entre os fontes, pra indicar possíveis erros.
Isso não existe pra Harbour.
NÃO testei criar projeto no Programmers Notepad, pra ver se ele faz isso quando é projeto.
Muito trabalho pra poucas coisa, já que no caso dele vai ser só uma ajuda parcial.