Alguém tem um exemplo de Harbour modo texto com mouse?
Moderador: Moderadores
- codestudent
- Usuário Nível 1

- Mensagens: 6
- Registrado em: 10 Jun 2014 14:24
- Localização: São Paulo - SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Olá, pessoal!
Tenho aqui um sistema feito em "clipper tradicional" (sem mouse) que estou adaptando para o harbour no modo texto, mesmo. Uso menus, tbrowses, gets e alerts. Como posso adaptá-lo para usar o mouse? Alguém tem algum exemplo de como fazer isso?
Se alguém puder postar um exemplo assim no fórum ficaria muito grato!
Tenho aqui um sistema feito em "clipper tradicional" (sem mouse) que estou adaptando para o harbour no modo texto, mesmo. Uso menus, tbrowses, gets e alerts. Como posso adaptá-lo para usar o mouse? Alguém tem algum exemplo de como fazer isso?
Se alguém puder postar um exemplo assim no fórum ficaria muito grato!
Harbour 3.0 + DBF/NTX + gtwvt
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Na parte normal do Harbour basta isto:
No tbrowse e rotinas próprias, vai ter que tratar os eventos de mouse no retorno de Inkey()
Explicação: isso faz o mouse "funcionar".
As rotinas do Harbour como PROMPT, GET, já tem tratamento de mouse.
Nas suas rotinas, após pegar o Inkey(), é testar se a tecla é do mouse - veja em inkey.ch, são códigos acima de 1000
Vai usar também o valor de MRow(), MCol() que são as posições do clique do mouse, e verificar que texto tem nessas posições.
Procure criar uma rotina pra fazer essa checagem de posição, que depois vai ser só usar a rotina em tudo.
Código: Selecionar todos
SET( _SET_EVENTMASK, INKEY_ALL - INKEY_MOVE ) // + HB_INKEY_GTEVENT )
Explicação: isso faz o mouse "funcionar".
As rotinas do Harbour como PROMPT, GET, já tem tratamento de mouse.
Nas suas rotinas, após pegar o Inkey(), é testar se a tecla é do mouse - veja em inkey.ch, são códigos acima de 1000
Vai usar também o valor de MRow(), MCol() que são as posições do clique do mouse, e verificar que texto tem nessas posições.
Procure criar uma rotina pra fazer essa checagem de posição, que depois vai ser só usar a rotina em tudo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Dependendo do estilo dos seus fontes e forma de uso, pode ser que facilite usar os botões da gtwvg, já que basta adicionar o resultado do clique, como um keyboard.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Maurício Elias
- Usuário Nível 3

- Mensagens: 304
- Registrado em: 12 Mai 2005 08:48
Alguém tem um exemplo de Harbour modo texto com mouse?
Olá, bom dia.
Qual a vantagem de usar a gtwvg ? É uma lib gráfica ? A aplicação continua texto ?
Obrigado.
Qual a vantagem de usar a gtwvg ? É uma lib gráfica ? A aplicação continua texto ?
Obrigado.
Abraços.
_______
Maurício
_______
Maurício
- codestudent
- Usuário Nível 1

- Mensagens: 6
- Registrado em: 10 Jun 2014 14:24
- Localização: São Paulo - SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Não entendi, José Quintas. Você disse:
no ínicio do meu código?
Mas eu tenho de colocar isso como? Devo fazer referência aNa parte normal do Harbour basta isto:
Expandir visualizacaoVer codigo
1 SET( _SET_EVENTMASK, INKEY_ALL - INKEY_MOVE ) // + HB_INKEY_GTEVENT )
2
Código: Selecionar todos
#include "inkey.ch"
Harbour 3.0 + DBF/NTX + gtwvt
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Exato. basta uma vez no programa principal.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- codestudent
- Usuário Nível 1

- Mensagens: 6
- Registrado em: 10 Jun 2014 14:24
- Localização: São Paulo - SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Seguindo as dicas de todos vocês amigos aqui do fórum, consegui colocar o mouse em modo texto funcionando junto com os menus, os tbrowses, os alerts e os gets de meu programa. E estou QUASE feliz com isso! Digo quase porque, nos menus (quando tento chamar os submenus) e nos alertas (que criei, usando uma função baseada em menus), tenho de clicar duas vezes para o evento do mouse funcionar.
Sei que nada neste mundo é perfeito mas, quando eu passar o sistema para os usuários eles vão encher meu saco porque terão de clicar duas vezes...
Os fontes estão no arquivo compactado anexo, junto com um executável já compilado e os arquivos de compilação. Alguém pode dar uma olhada e me dizer se tem como corrigir isso?
Sei que nada neste mundo é perfeito mas, quando eu passar o sistema para os usuários eles vão encher meu saco porque terão de clicar duas vezes...
Os fontes estão no arquivo compactado anexo, junto com um executável já compilado e os arquivos de compilação. Alguém pode dar uma olhada e me dizer se tem como corrigir isso?
- Anexos
-
FontesComMouse.zip- (499.5 KiB) Baixado 735 vezes
Harbour 3.0 + DBF/NTX + gtwvt
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Fiz um teste aqui adicionando a função que uso.
Testei usando harbour 3.2 + gtwvg (apenas porque a uso e pra ver se ficaria igual)
Alteração nos fontes:
#include "jpa.ch", criar variável usada em MENU TO, e não entendi mas precisei criar GetList := {} no cardapio, pra evitar erro de variável não existe GetList.
Arquivos a mais:
jpa.ch
ze_prompt.prg
No Harbour 3.2, default mingw, é só definir path=c:\harbour\bin
E pra compilar hbmk2 escolar10.hbp
O EXE está menor que o anterior, mas porque é gerado compactado.
era 1.084.928, e agora ficou com 610.304
Para o Harbour 3.2, o escolar10.hbp ficou assim:
Testei usando harbour 3.2 + gtwvg (apenas porque a uso e pra ver se ficaria igual)
Alteração nos fontes:
#include "jpa.ch", criar variável usada em MENU TO, e não entendi mas precisei criar GetList := {} no cardapio, pra evitar erro de variável não existe GetList.
Arquivos a mais:
jpa.ch
ze_prompt.prg
No Harbour 3.2, default mingw, é só definir path=c:\harbour\bin
E pra compilar hbmk2 escolar10.hbp
O EXE está menor que o anterior, mas porque é gerado compactado.
era 1.084.928, e agora ficou com 610.304
Para o Harbour 3.2, o escolar10.hbp ficou assim:
Código: Selecionar todos
escolar10.prg
criabase.prg
cardapio.prg
alunos.prg
relalufic.prg
funcoes.prg
ze_prompt.prg
-oescolar10
xhb.hbc
gtwvg.hbc
-compr
-strip
- Anexos
-
escolar10.zip- (604.77 KiB) Baixado 653 vezes
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- codestudent
- Usuário Nível 1

- Mensagens: 6
- Registrado em: 10 Jun 2014 14:24
- Localização: São Paulo - SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Valeu mesmo, José Quintas!
Você adicionou o arquivo de cabeçalho "jpa.ch" e o arquivo "ze_prompt.prg", deu uma ajeitada no meu código (declarando algumas variáveis que eu não havia declarado...) e ficou uma beleza o resultado final! Agora os usuários clicarão apenas uma vez e o menu vai responder imediatamente!
Agora, se alguém do fórum quiser, pode aproveitar nosso código!
Você adicionou o arquivo de cabeçalho "jpa.ch" e o arquivo "ze_prompt.prg", deu uma ajeitada no meu código (declarando algumas variáveis que eu não havia declarado...) e ficou uma beleza o resultado final! Agora os usuários clicarão apenas uma vez e o menu vai responder imediatamente!
Agora, se alguém do fórum quiser, pode aproveitar nosso código!
Harbour 3.0 + DBF/NTX + gtwvt
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Alguém tem um exemplo de Harbour modo texto com mouse?
Caro José...
O que eu preciso a mais no código abaixo para compilar para o sistema ficar em tecla cheia...
O Título muda mas não aceita pressionar alt+enter para ir para tela cheia.. tô compilando do hmg3.0.35 porque o meu harbour tá baleado aqui nesta máquina e não posso formatar agora..
Descompactei o projeto e compilei pela HMG3.0.35 e compilou normal... já executa em tela cheia, funciona o mouse.
Mas o meu sistema não funciona... tá faltando alguma instrução aí?
Retirei os comandos hb_gtinfo do escolar10.prg
Obrigado
Rubens
O que eu preciso a mais no código abaixo para compilar para o sistema ficar em tecla cheia...
Código: Selecionar todos
************************************
#include "SET.CH"
#include "CLUBE.CH"
#include "DIRECTRY.CH"
#include "INKEY.CH"
#include "hbgtinfo.ch"
#DEFINE CRLF CHR(13)+CHR(10)
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
REQUEST HB_GT_WIN_DEFAULT
FUNCTION MAIN( cINSTAL )
HB_GtInfo( HB_GTI_FONTNAME, "Lucida Console" ) // fonte
hb_gtInfo( HB_GTI_FONTWIDTH, 10 )
hb_gtInfo( HB_GTI_FONTSIZE , 20 )
hb_gtInfo( HB_GTI_FONTQUALITY , .T. )
HB_GtInfo( HB_GTI_WINTITLE, "DATASAC" ) // titulo da tela
HB_GtInfo( HB_GTI_MAXIMIZED, .F. )
HB_GtInfo( HB_GTI_ISFULLSCREEN, .T. )
hb_gtInfo( HB_GTI_ALTENTER, .T. )
HB_GtInfo( HB_GTI_ISFULLSCREEN, .T. )
Descompactei o projeto e compilei pela HMG3.0.35 e compilou normal... já executa em tela cheia, funciona o mouse.
Mas o meu sistema não funciona... tá faltando alguma instrução aí?
Retirei os comandos hb_gtinfo do escolar10.prg
Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você
"
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Agora que vi esta pergunta.
Lembro de ter visto postagens sobre isso no harbour-users, e talvez tenham modificado.
Já na GTWVG não existe tela cheia. Mas dá pra abrir no tamanho máximo, e também dá pra salvar como o usuário deixou, pra quando rodar o programa novamente ele ficar igual antes.
Sinceramente....
Acho que não tem vantagem abrir em console em tela cheia.
O motivo é simples: pra funcionar em tela cheia no console, somente se for tamanho padrão, e isso limita suas telas a 24x80, 28x80 e 33x80
E usar outros tamanhos de tela ajudam em muita coisa, por exemplo 33 x 132.
Dá pra organizar melhor as informações na tela.
Lembro de ter visto postagens sobre isso no harbour-users, e talvez tenham modificado.
Já na GTWVG não existe tela cheia. Mas dá pra abrir no tamanho máximo, e também dá pra salvar como o usuário deixou, pra quando rodar o programa novamente ele ficar igual antes.
Sinceramente....
Acho que não tem vantagem abrir em console em tela cheia.
O motivo é simples: pra funcionar em tela cheia no console, somente se for tamanho padrão, e isso limita suas telas a 24x80, 28x80 e 33x80
E usar outros tamanhos de tela ajudam em muita coisa, por exemplo 33 x 132.
Dá pra organizar melhor as informações na tela.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Alguém tem um exemplo de Harbour modo texto com mouse?
OPA...
também concordava que não dava pra trabalhar em tela cheia... pois consegui migrar em jan/2015.
Agora que estamos no final de 2015, acho que consegui uma alternativa que tanto dá pra usar a tela maximizada (janela) quanto totalmente preenchida (tela cheia).
Pra maximizar (janela) faço o seguinte:
Para o máximo da tela (tipo o MS-DOS, só que gráfico), faço o seguinte:
Para os dois códigos acima funcionarem, precisam de 3 argumentos. Um dentro do arquivo e outros na compilação:
Na compilação, incluir 2 LIBs:
Inclusive fiz uma função em que o usuário ao logar pela primeira vez no sistema, é apresentada uma opção em que ele escolhe, tipo:
TELA MAXIMIZADA SIM/NÃO?
ALT-ENTER SIM/NÃO?
TELA NORMAL (RESTAURADA) SIM/NÃO?
FECHAR ATRAVÉS DO X DA JANELA SIM/NÃO?
Dentre outras ações, mas, isso não é o principal deste tópico que já está fugindo do assunto "Alguém tem um exemplo de Harbour modo texto com mouse?"
Então, voltando ao tema central deste tópico, o prezado professor JQuintas tem nos ajudado e muito, inclusive pesquisando nos grupos oficials do Viktor, além de - se não me engano, ser o mantenedor do http://www.harbourdoc.com.br, que cheguei a pensar que era do Viktor.
Ele já postou exemplos, magníficos, mas, incluindo o AllInOn e o Escola10, mas, infelizmente não consegui compreender como funciona o MRow() e MCol().
Alguém aqui (não esquecendo dele também) sabe uma coisa funcional para capturar o click do mouse nos menus e sub-menus em modo console usando a GTWVG?
também concordava que não dava pra trabalhar em tela cheia... pois consegui migrar em jan/2015.
Agora que estamos no final de 2015, acho que consegui uma alternativa que tanto dá pra usar a tela maximizada (janela) quanto totalmente preenchida (tela cheia).
Pra maximizar (janela) faço o seguinte:
Código: Selecionar todos
wvt_Maximize()Código: Selecionar todos
HB_GtInfo( HB_GTI_ALTENTER, .t. )Código: Selecionar todos
#include "hbgtinfo.ch'Código: Selecionar todos
GTWVG.HBC
GTWVW.HBCTELA MAXIMIZADA SIM/NÃO?
ALT-ENTER SIM/NÃO?
TELA NORMAL (RESTAURADA) SIM/NÃO?
FECHAR ATRAVÉS DO X DA JANELA SIM/NÃO?
Dentre outras ações, mas, isso não é o principal deste tópico que já está fugindo do assunto "Alguém tem um exemplo de Harbour modo texto com mouse?"
Então, voltando ao tema central deste tópico, o prezado professor JQuintas tem nos ajudado e muito, inclusive pesquisando nos grupos oficials do Viktor, além de - se não me engano, ser o mantenedor do http://www.harbourdoc.com.br, que cheguei a pensar que era do Viktor.
Ele já postou exemplos, magníficos, mas, incluindo o AllInOn e o Escola10, mas, infelizmente não consegui compreender como funciona o MRow() e MCol().
Alguém aqui (não esquecendo dele também) sabe uma coisa funcional para capturar o click do mouse nos menus e sub-menus em modo console usando a GTWVG?
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 - 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!
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Olá Microvolution,
Não sei se a idéia é saber em qual botão criado com WVG foi clicado. Se for, esse exemplo não é a melhor opção. Mas para capturar a posição do mouse e a posição dos cliques, veja esse exemplo:
Não sei se a idéia é saber em qual botão criado com WVG foi clicado. Se for, esse exemplo não é a melhor opção. Mas para capturar a posição do mouse e a posição dos cliques, veja esse exemplo:
Código: Selecionar todos
/*
Compilar usando: Hbmk2 exemplo.prg -lxhb
*/
Function Main()
Local cAlgo := Space( 30 )
Public nTask, nIdle
Clear Screen
nTask := HB_BackGroundAdd( {|| CaptaMouse() } )
nIdle := HB_IdleAdd( {|| HB_BackGroundRun( nTask ) } )
Inkey(0)
HB_BackGroundDel( nTask ) // coloque antes de sair do sistema
HB_IdleDel( nIdle )
Clear Screen
Return Nil
FuncTion CaptaMouse()
@ 2,2 say "Linha do Mouse...: " + Hb_NToS( MRow() )
@ 4,2 say "Coluna do Mouse..: " + Hb_NToS( MCol() )
If MLeftDown()
@ 7,2 say "Botao ESQUERDO pressionado na Linha " + Hb_NToS( MRow() ) + ", coluna " + Hb_NToS( MCol() )
ElseIf MRightDown()
@ 7,2 say "Botao DIREITO pressionado na Linha " + Hb_NToS( MRow() ) + ", coluna " + Hb_NToS( MCol() )
EndIf
Return NilAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Alguém tem um exemplo de Harbour modo texto com mouse?
Se o menu é estilo console, mesmo em GTWVG, o jeito é tradicional:
Usando Inkey() , pode-se detectar o click do mouse.
Usando MRow() e MCol() se verificam linha e coluna do mouse.
Fora isso, é ter a posição da área clicada, e comparar com MRow(), MCol()
Exemplo:
O texto "TESTE PARA CLICK" ocupa a linha 1, da coluna 0 até a coluna 15
Então, ao ser clicado o mouse, é testar se o click foi nessa região, linha 1, e colunas entre 0 e 15.
Lógico... se for fazer isso pra cada posição é muito fonte.
Melhor criar rotinas pra isso, por exemplo, um array contendo as coordenadas.
Depois na hora de analisar, comparar com os valores do array
É só um exemplo, fazendo isso na rotina que monta o visual do menu, a própria rotina pode montar o array de coordenadas.
Uso isso no menu que postei, inclusive ele vai passando as coordenadas de um submenu para o outro, que é justamente o que faz funcionar o click em qualquer lugar do menu.
Usando Inkey() , pode-se detectar o click do mouse.
Usando MRow() e MCol() se verificam linha e coluna do mouse.
Fora isso, é ter a posição da área clicada, e comparar com MRow(), MCol()
Exemplo:
Código: Selecionar todos
@ 1, 0 SAY "TESTE PARA CLICK"
DO WHILE nKey != K_ESC
nKey := Inkey(0)
IF nKey == K_LBUTTONDOWN
IF MRow() == 1 .AND. MCOL() >= 9 .AND> MCOL() <= 15
@ 15, 0 SAY "Foi cliclado
ENDIF
ENDIF
ENDDO
Então, ao ser clicado o mouse, é testar se o click foi nessa região, linha 1, e colunas entre 0 e 15.
Lógico... se for fazer isso pra cada posição é muito fonte.
Melhor criar rotinas pra isso, por exemplo, um array contendo as coordenadas.
Código: Selecionar todos
oPosicoes := { ;
{ 1, 0, 15, "A" } } // linha, coluna inicial, coluna final, keyboard pra simular
Código: Selecionar todos
IF nKey == K_LBUTTONDOWN
FOR nCont = 1 TO Len( oPosicoes )
IF MRow() == oPosicoes[ nCont, 1 ] .AND. MCol() >= oPosicoes[ nCont, 2 ] .AND. MCOL() <= oPosicoes[ nCont, 3 ]
KEYBOARD oPosicoes[ nCont, 4 ]
ENDIF
NEXT
ENDIF
Uso isso no menu que postei, inclusive ele vai passando as coordenadas de um submenu para o outro, que é justamente o que faz funcionar o click em qualquer lugar do menu.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Alguém tem um exemplo de Harbour modo texto com mouse?
Meus amigos,
Só agora estou incluindo mouse em meus sistemas. Já havia tentado no passado, mas abandonei porque tive alguns problemas.
Mas agora estou precisando. Achei esta solução muito simples e prática.
Por enquanto (ainda terei que testar melhor), tenho apenas um problema: como abandonar um get com um mouse? Ou, em outros termos: como simular o pressionamento da tecla ESC com o mouse?
Explico a necessidade: preciso acessar o meu sistema pelo TeamViewer, a partir do meu celular. Só que no TV não tem as setas e o Enter. Então, eu preciso que o funcionamento se dê todo com o mouse.
Alguém poderia me ajudar?
Só agora estou incluindo mouse em meus sistemas. Já havia tentado no passado, mas abandonei porque tive alguns problemas.
Mas agora estou precisando. Achei esta solução muito simples e prática.
Por enquanto (ainda terei que testar melhor), tenho apenas um problema: como abandonar um get com um mouse? Ou, em outros termos: como simular o pressionamento da tecla ESC com o mouse?
Explico a necessidade: preciso acessar o meu sistema pelo TeamViewer, a partir do meu celular. Só que no TV não tem as setas e o Enter. Então, eu preciso que o funcionamento se dê todo com o mouse.
Alguém poderia me ajudar?
Inacio de Carvalho Neto
