Copiar e Colar e uso com Mouse WVT/WVW

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por Itamar M. Lins Jr. »

Ola!

Código: Selecionar todos

#include "hbgtinfo.ch"

FUNCTION ACTCOPYPASTE()
//activa COPY / PASTE
  hb_gtInfo( HB_GTI_INKEYFILTER, { | nKey |
      LOCAL nBits, lIsKeyCtrl
      SWITCH nKey
      CASE K_MWBACKWARD
         RETURN K_DOWN
      CASE K_MWFORWARD
         RETURN K_UP
      CASE K_RBUTTONDOWN
         RETURN K_ESC
      CASE K_RDBLCLK
         RETURN K_ESC
      CASE K_LDBLCLK
         RETURN K_ENTER
      CASE K_CTRL_V
         nBits := hb_GtInfo( HB_GTI_KBDSHIFTS )
         lIsKeyCtrl := ( nBits == hb_BitOr( nBits, HB_GTI_KBD_CTRL ) )
         IF lIsKeyCtrl
            hb_GtInfo( HB_GTI_CLIPBOARDPASTE )
            RETURN 0
         ENDIF
      CASE K_CTRL_C
         nBits := hb_gtInfo( HB_GTI_KBDSHIFTS )
         lIsKeyCtrl := ( nBits == hb_BitOr( nBits, HB_GTI_KBD_CTRL ) )
         IF lIsKeyCtrl
             MSGBOX( "Copiado al portapapeles" )
            IF GetActive() != NIL
               hb_gtInfo( HB_GTI_CLIPBOARDDATA, Transform( GetActive():VarGet(), "" ) )
               RETURN 0
            ENDIF
         ENDIF
      ENDSWITCH
      RETURN nKey
       } )
   SET( _SET_EVENTMASK, INKEY_ALL )
RETURN

Ps. Peguei no Harbour users.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por JoséQuintas »

Achei que esse fonte tava parecido com o meu estilo....
E não é que é meu mesmo kkkk
copypaste.png
https://github.com/JoseQuintas/JoseQuin ... filter.prg
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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por Itamar M. Lins Jr. »

Ola!
Eita! o povo não gosta de dar créditos mesmo né?
Já pensou se não coloco que peguei do forum harbour user ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por rubens »

Olá...
Essa função diferencia CTRL+V de Insert ?

Seria essa linha

Código: Selecionar todos

lIsKeyCtrl := ( nBits == hb_BitOr( nBits, HB_GTI_KBD_CTRL ) )
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por Linguagemclipper »

JoséQuintas escreveu:Achei que esse fonte tava parecido com o meu estilo....
E não é que é meu mesmo kkkk
copypaste.png
https://github.com/JoseQuintas/JoseQuin ... filter.prg
Usei ela aqui, mas precisei fazer uns ajustes. Procurei esse teu github para fazer um fork e solicitar um pull request, mas diz página não encontrada. Mudou o link?
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por JoséQuintas »

Linguagemclipper escreveu:Usei ela aqui, mas precisei fazer uns ajustes. Procurei esse teu github para fazer um fork e solicitar um pull request, mas diz página não encontrada. Mudou o link?
É que começou a entrar coisa particular de cliente no meio, e SQL, acabei deixando só com o básico até resolver sobre o resto, e foi ficando pra depois.
rubens escreveu:Seria essa linha
Sim. lIsKeyCtrl, tem nome autoexplicativo em inglês. IS=É, "é key control?" acaba contendo verdadeiro ou falso baseado no resultado.
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
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por Linguagemclipper »

Quem faz o fork tem que solicitar o pull request ao autor do master branch. Nesse caso é só tu não autorizar, poxa. Só permite autorizar atualizações que o mantenham neutro sem particularidades de clientes.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por JoséQuintas »

Linguagemclipper escreveu: Nesse caso é só tu não autorizar, poxa
Quando o conteúdo do original altera, sem ser continuação, o vínculo se perde.
Passa o endereço do seu fork, pra eu colocar de volta como estava na época.
Não sei se vai dar certo.
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

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por JoséQuintas »

Na verdade.....

Chegou ao ponto de entrarem em contato comigo pra comprar versão nova....
Simplesmente alguém além de pegar de graça, vender, ainda vendeu usando meu nome.
Por essas e outras, removi.

Por eu deixar de trabalhar com DBF, e a LIB ser direto do meu aplicativo, também não ajudaria mais como antes, e só daria trabalho pra deixar atualizada sem que o aplicativo interferisse na LIB e vice-versa.
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
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por Linguagemclipper »

Rapaz, se passar pelo cara já é o cúmulo...
Pior que não tenho como fazer um fork de algo que não existe mais porque tem que ter um master-branch para contribuir...
No seu código original só copiava se o get já tivesse um valor salvo com Enter, se o campo fosse novo e quisesse copiar ficava em branco porque ignorava o buffer. Daí conteplei as duas condições e deu certo. Também coloquei pra colar com o botão direito do mouse.
Enfim, vou postar aqui o código completo com o que eu mudei:

Código: Selecionar todos

FUNCTION ACTCOPYPASTE()
//activa COPY / PASTE
  hb_gtInfo( HB_GTI_INKEYFILTER, { | nKey |
      LOCAL nBits, lIsKeyCtrl
      SWITCH nKey
      CASE K_MWBACKWARD
         RETURN K_DOWN
      CASE K_MWFORWARD
         RETURN K_UP
      CASE K_RBUTTONDOWN
		 // Acrescentado por Anderson
         keyboard HB_GTINFO(  HB_GTI_CLIPBOARDPASTE ) // COLA C/ BOTÃO DIREITO
		 RETURN
      CASE K_RDBLCLK
         RETURN K_ESC
      CASE K_LDBLCLK
         RETURN K_ENTER
      CASE K_CTRL_V
         nBits := hb_GtInfo( HB_GTI_KBDSHIFTS )
         lIsKeyCtrl := ( nBits == hb_BitOr( nBits, HB_GTI_KBD_CTRL ) )
         IF lIsKeyCtrl
            keyboard HB_GTINFO(  HB_GTI_CLIPBOARDPASTE ) // COLA C/ CTRL+V
            RETURN 0
         ENDIF
      CASE K_CTRL_C
         nBits := hb_gtInfo( HB_GTI_KBDSHIFTS )
         lIsKeyCtrl := ( nBits == hb_BitOr( nBits, HB_GTI_KBD_CTRL ) )
         IF lIsKeyCtrl             
            IF GetActive() != NIL
					// O IF ABAIXO FOI ALTERADO POR ANDERSON
					IF !EMPTY(GetActive():VarGet())
						// SE O GET JÁ TINHA UM VALOR, VAI COPIAR ESSE VALOR JÁ SALVO PARA COLAR
						hb_gtInfo( HB_GTI_CLIPBOARDDATA, Transform( GetActive():VarGet(), "" ) )
					ELSE
						// O GET ESTÁ VAZIO, MAS PODE HAVER CARACTERES NO BUFFER DESSE GET!
						hb_gtInfo( HB_GTI_CLIPBOARDDATA, GetActive():BUFFER )
					ENDIF
				ALERT( "Copiado para área de transferência" )             
				RETURN 0
            ENDIF
         ENDIF
      ENDSWITCH
      RETURN nKey
       } )
   SET( _SET_EVENTMASK, INKEY_ALL )
RETURN
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por JoséQuintas »

Realmente, sem sair do GET o conteúdo do buffer/tela pode ser diferente da variável.
Já o do mouse, não sei se vai interferir com o uso como ESC.

Sobre o fork: entendi que você tinha feito um fork antes de apagar.

Depois vou ver como fazer com as coisas.
Separar as coisas em muitas LIBs só vai gerar trabalho extra.
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
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por deividdjs »

não funciona para xharbour ??
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por deividdjs »

dá erro de delimitação ... mais pelo q vejo está tudo correto .. nao está ??
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por Linguagemclipper »

Tentei compilar no xharbour e dá erro mesmo.
Só roda no Harbour essa função aí.

No xHarbour eu fiz esse quebra-galho aqui:

Código: Selecionar todos

SET KEY K_CTRL_C TO COPIA()     // COPIA COM CTRL+C
SET KEY K_CTRL_V TO COLA()      // COLA COM CTRL+V
SET KEY K_RBUTTONDOWN TO COLA() // COLA COM BOTÃO DIREITO DO MOUSE
As funções:

Código: Selecionar todos

FUNCTION COPIA()
keyboard HB_GTINFO(  HB_GTI_CLIPBOARDDATA )
RETURN

FUNCTION COLA()
keyboard HB_GTINFO(  HB_GTI_CLIPBOARDPASTE )
RETURN
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

Copiar e Colar e uso com Mouse WVT/WVW

Mensagem por deividdjs »

Linguagemclipper escreveu:Tentei compilar no xharbour e dá erro mesmo.
Só roda no Harbour essa função aí.

No xHarbour eu fiz esse quebra-galho aqui:

Código: Selecionar todos

SET KEY K_CTRL_C TO COPIA()     // COPIA COM CTRL+C
SET KEY K_CTRL_V TO COLA()      // COLA COM CTRL+V
SET KEY K_RBUTTONDOWN TO COLA() // COLA COM BOTÃO DIREITO DO MOUSE
As funções:

Código: Selecionar todos

FUNCTION COPIA()
keyboard HB_GTINFO(  HB_GTI_CLIPBOARDDATA )
RETURN

FUNCTION COLA()
keyboard HB_GTINFO(  HB_GTI_CLIPBOARDPASTE )
RETURN
não sei se é meu getsys.prg bugado .. mais nem sinal de copia e cola ..

;(
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Responder