Amiguinhos,
rbonotto
O Gesture de pegar-e-arrastar com os dedos, poderia ser simulado por sua aplicação desde que ela conseguisse entender que o momento que o dedo parou em um ponto da tela retornasse um MouseKeyDown e ao movimentar para cima ou para baixo retornasse um MouseGoUp ou MouseGoDown. Estes nomes são ilustrativos.
Exemplo:
Código: Selecionar todos
METHOD MouseAtHeader( nRow, nCol ) CLASS TXBrowse
return ( ::MouseColPos( nCol ) > 0 .and. nRow < ::HeaderHeight() )
METHOD MouseAtFooter( nRow, nCol ) CLASS TXBrowse
return ( ::MouseColPos( nCol ) > 0 .and. nRow > ( ::BrwHeight() - ::FooterHeight() ) )
Estas funções do XBrowse verificam se o mouse está posicionado no cabecalho ou rodapé do mesmo. Veja que as funções de retorno se baseiam em valores não fixos, pois depende da posição que o browse está, seu tamanho, etc.
Já nesta função:
Código: Selecionar todos
METHOD MouseRowPos( nRow ) CLASS TXBrowse
local nRowPos, nTmp
if nRow <= ::HeaderHeight()
return 0
endif
nTmp := nRow - ::HeaderHeight()
nRowPos := Int( nTmp / ::nRowHeight ) + 1
if nRowPos > ::nDataRows
nRowPos := 0
endif
return nRowPos
Verifica e retorna a posição em linha do mouse sobre o browse. Neste caso ele se baseia nas coordenadas do retangulo que o browse está visível.
Veja bem, para que o gesture de arrastar dentro do browse só deverá funcionar se no PC o seu aplicativo tiver o mesmo comportamento, ou seja, se no PC, quando voce pousar o mouse dentro do browse e arrastar para cima e para baixo, o browse se move, voce conseguirá este mesmo efeito pelo tablet.