Pergunta

Eu tenho um ScrolledComposite que é um pouco como uma planilha. Ele funciona na maior parte sem problemas, mas às vezes tenho um campo grande que enche quase toda a linha (a parte mais à direita).

Quando o foco está neste campo, e setShowFocusedControl (true) foi chamado, swt insiste em mostrar a parte mais à direita do campo, que tem o mesmo efeito de rolagem todo o caminho para a direita em uma grande folha de cálculo - é muito chato para o usuário, como o campo raramente tem muito texto nele.

Assim, a estratégia escolhida para o código é setShowFocusedControl e desligar o tempo todo, o que é muito bug-propensa.

Alguém pode sugerir uma estratégia melhor? Posso fazer swt mostrar a parte mais à esquerda do campo focado?

Foi útil?

Solução

Você pode usar setOrigin (Point) ou setOrigin (int, int) na ScrolledComposite para definir a origem do conteúdo rolado no canto superior esquerdo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top