Clipper On Line • Ver Tópico - Duplo clique não funciona

Duplo clique não funciona

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

Moderador: Moderadores

 

Duplo clique não funciona

Mensagempor carlaoonline » 01 Mar 2021 10:57

Hoje eu uso o hb_gtInfo( HB_GTI_INKEYFILTER.... mas se quiser alguma coisa mais simples pode usar essa função que fiz a alguns anos e que identifica o duplo clique do botão esquerdo.

Ele tem um delay de .3 segundos mas passa despercebido dependendo onde usa.

/ Compilar    HBMK2 DP_CLIC

#include "inkey.ch"

Function Main()

CLS
SET( _SET_EVENTMASK, INKEY_ALL - INKEY_MOVE ) // + HB_INKEY_GTEVENT )  // Set Eventmask to 1002

DO WHILE .T.

   @ 10,05 Say "De clic unico ou duplo com o botao esquerdo do mouse.!"
   INKEY(0)

   IF LASTKEY()=1002  // So efetua a verificacao qdo clicar no botao esquerdo do mouse
      IF !DUPLO_CLIC()
        // colocar aqui as ações para unico clique do botao esquerdo..
       // No caso do DbEdit ou Achoice a opcao seria voltar para a edicao com return pois com um clic apenas selecionamos a linha/coluna.
         ALERT("Clicou uma vez com o botao esquerdo")      
      else  // Se clicou duas vezes, entao ele volta com lastkey()=1006
       // colocar aqui as ações para duplo clique do botao esquerdo..      
         ALERT("Clicou duas vezes com o botao esquerdo")      
      ENDIF
   ENDIF      

   if lastkey()=27
      return
   endif   

ENDDO

**
**  Funcao que testa se houve duplo click no botao esquerdo do mouse
**
FUNCTION DUPLO_CLIC()
local AAA,BBB
IF LASTKEY()=1006 // Se ja for detectado, entao volta .T.
   RETURN .T.
ENDIF
IF !(LASTKEY()=1002)   // Se o lastkey() nao for 1002 (botao esquerdo) , entao volta .F.
   RETURN .F.
ENDIF

*alert("clicou 2 vezes"+str(lastkey()))

BBB=SECOND()
AAA=lastkey()
DO WHILE BBB+.3 > SECOND()  // Fica aguardando em .3 segundos o segundo clicque
   IF LASTKEY()=1006
      RETURN .T.
   ENDIF
   AAA=INKEY()
ENDDO
     
RETURN .F.  // Nao foi clicado pela segunda vez no botao esquerdo durante o tempo de espera...
Anexos
DP_CLIC.PRG
Identifica duplo clique
(1.55 KiB) Baixado 25 vezes
Avatar de usuário

carlaoonline
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 190
Data de registro: 24 Ago 2014 22:38
Cidade/Estado: Porto Alegre-RS
Curtiu: 73 vezes
Mens.Curtidas: 22 vezes

Anterior



Retornar para Harbour

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