#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.