Eu cheguei a colocar, mas não mostrando exatamente a posição.
Seria o desenho da barra de rolagem, e o usuário poder clicar nessa barra.
Agora tá comentado, nem uso mais.
aHotKeys := {}
// { nTop + 1, nRight, nTop + 1, nRight, "", K_CTRL_PGUP }, ;
// { nTop + 2, nRight, nTop + 2, nRight, "", K_CTRL_PGUP }, ;
// { nTop + 3, nRight, nTop + 3, nRight, Chr(30), K_UP }, ;
// { nTop + 4, nRight, nTop + 4, nRight, Chr(30), K_UP }, ;
// { nBottom - 2, nRight, nBottom - 2, nRight, Chr(31), K_DOWN }, ;
// { nBottom - 1, nRight, nBottom - 1, nRight, Chr(31), K_DOWN }, ;
// { nBottom, nRight, nBottom, nRight, "", K_CTRL_PGDN }, ;
// { nBottom, nLeft + 1, nBottom, nLeft + 2, Chr(17) + Chr(17), K_LEFT }, ;
// { nBottom, nRight - 2, nBottom, nRight - 1, Chr(16) + Chr(16), K_RIGHT }, ;
// ;// Nesta ordem, se tiver area livre, PgUp e PgDn funciona
// { nTop + 5, nRight, nTop + 5, nRight, "", K_PGUP }, ;
// { nTop + 6, nRight, nTop + 6, nRight, "", K_PGUP }, ;
// { nBottom - 4,nRight, nBottom - 4, nRight, "", K_PGDN }, ;
// { nBottom - 3,nRight, nBottom - 3, nRight, "", K_PGDN }, ;
// { nBottom, nLeft + 3, nBottom, nLeft + 12, "[Localiza]", K_ALT_L}, ;
// { nBottom, nLeft + 13, nBottom, nLeft + 20, "[Filtro]", K_ALT_F}, ;
// { nBottom, nLeft + 21, nBottom, nLeft + 27, "[Ordem]", K_F5 } }
// FOR EACH oElement IN aHotKeys
// @ oElement[ 1 ], oElement[ 2 ] SAY oElement[ 5 ]
// NEXT
Basicamente é a área do clique, e qual será a tecla acionada, como se fossem buttons de tamanhos variados.
No TBrowse, ao clicar com o mouse, verifica se MRow(), MCol() se encaixam em alguma dessas regiões, e substitui pela tecla que seria equivalente.
CASE nKey == K_LBUTTONDOWN
FOR EACH oElement IN aHotKeys
IF nMRow >= oElement[ 1 ] .AND. nMRow <= oElement[ 3 ] .AND. nMCol >= oElement[ 2 ] .AND. nMCol <= oElement[ 4 ]
nKey := oElement[ 6 ]
EXIT
ENDIF
NEXT
Pra mostrar a barra de rolagem com a posição exata, teria que saber o total de registros, e isso poderia ser demorado.