Desabilitar mouse harbour 3.2.0

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

caputo
Usuário Nível 1
Usuário Nível 1
Mensagens: 23
Registrado em: 29 Out 2007 08:39
Localização: Olímpia/SP

Desabilitar mouse harbour 3.2.0

Mensagem por caputo »

Pessoal

Já pesquisei encontrei nada que de certo...

Para eu Habilitar (ativar) o mouse uso
SET( _SET_EVENTMASK, INKEY_ALL - INKEY_MOVE )

Porem em determinado momento do sistema preciso DESABILITAR o Mouse
alguém saberia me informar a função ???
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desabilitar mouse harbour 3.2.0

Mensagem por JoséQuintas »

caputo escreveu:Porem em determinado momento do sistema preciso DESABILITAR o Mouse
alguém saberia me informar a função ???
Por acaso é nos GETs?
Alterar a GETSYS limitando a um único campo...

Ou.... depende exatamente do que quer fazer.
Pode ser SET KEY, pode ser com o auxílio de InkeyFilter, pode ser trocando por rotina própria aonde precisa desabibilitar o mouse, pode ser o próprio _SET_EVENTMASK usando umas das opções que são apresentadas no inkey.ch.

Vai ter que analisar seu problema, e qual solução se encaixaria melhor.
E testar se resolve.
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desabilitar mouse harbour 3.2.0

Mensagem por JoséQuintas »

só pra "ilustrar", mas o ideal é olhar mesmo o arquivo inkey.ch, porque pode variar com o tempo, ou com a versão.
À primeira vista, seria o INKEY_KEYBOARD

Código: Selecionar todos

#define INKEY_MOVE              1
#define INKEY_LDOWN             2
#define INKEY_LUP               4
#define INKEY_RDOWN             8
#define INKEY_RUP               16
#define INKEY_MMIDDLE           32  /* Harbour extension middle button mask */
#define INKEY_MWHEEL            64  /* Harbour extension mouse wheel mask */
#define INKEY_KEYBOARD          128
#define INKEY_ALL               ( INKEY_KEYBOARD + INKEY_MOVE + INKEY_LDOWN + INKEY_LUP + INKEY_RDOWN + INKEY_RUP + INKEY_MMIDDLE + INKEY_MWHEEL )

#define HB_INKEY_RAW            256 /* Harbour extension */
#define HB_INKEY_GTEVENT        1024 /* Harbour extension */
#define HB_INKEY_EXT            2048 /* Harbour extension */

#define HB_INKEY_ALL            ( INKEY_ALL + HB_INKEY_GTEVENT )
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/
caputo
Usuário Nível 1
Usuário Nível 1
Mensagens: 23
Registrado em: 29 Out 2007 08:39
Localização: Olímpia/SP

Desabilitar mouse harbour 3.2.0

Mensagem por caputo »

Opa Maravilha,

José Quintas, muito obrigado pelas dicas acima, estão sendo muito uteis !

É possível eu colocar o ponteiro do mouse em uma determinada posição através de um comando ???

Tentei desta forma mais não deu certo
MSetPos(0,0)

Oque preciso seria que o Ponteiro do Mouse fosse para esta posição Linha 0 Coluna 0

outra detalhe
após o Click tenho o retorno do MRow() e MCol()
ai executo a opção correspondente OK
ai seria possível eu mudar o valor de MRow() e Mcol() por exemplo para MRow(0) e Mcol(0) (zerar os dois)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desabilitar mouse harbour 3.2.0

Mensagem por JoséQuintas »

caputo escreveu:Tentei desta forma mais não deu certoMSetPos(0,0)
Esqueceu que o Windows tem total controle do mouse?
Por mais que faça milagres... o Windows precisa do mouse funcionando, e na posição que ele quiser.
Fico até confuso porque poderia precisar uma coisa dessas.
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/
caputo
Usuário Nível 1
Usuário Nível 1
Mensagens: 23
Registrado em: 29 Out 2007 08:39
Localização: Olímpia/SP

Desabilitar mouse harbour 3.2.0

Mensagem por caputo »

JoséQuintas escreveu:
Esqueceu que o Windows tem total controle do mouse?
Por mais que faça milagres... o Windows precisa do mouse funcionando, e na posição que ele quiser.
Fico até confuso porque poderia precisar uma coisa dessas.
Você esta correto amigo !!!!

Acabei de resolver meus problemas com as primeiras dicas que vc passou :)) :)) :)) :))

Agora vou poder voltar a dormir melhor #-) #-)

Obrigaduuuuuuu de coração mesmo !!!!
Avatar do usuário
carlaoonline
Usuário Nível 3
Usuário Nível 3
Mensagens: 190
Registrado em: 24 Ago 2014 22:38
Localização: Porto Alegre-RS

Desabilitar mouse harbour 3.2.0

Mensagem por carlaoonline »

Para posicionar o mouse em um local específico o comando msetpos() não funcionou comigo. Passei a usar esse comando e aí funciona perfeitamente:

/* Force mouse pointer right below the Harbour label */
Wvt_SetMousePos( 2, 40 ) // Linha,coluna da tela do programa.


Peguei esse comendo no fonte abaixo, está na linha 124
C:\hmg.3.4.4\HARBOUR\contrib\gtwvg\tests\demowvg.prg
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Desabilitar mouse harbour 3.2.0

Mensagem por Kapiaba »

Responder