1

スプレッドシートに少し似た ScrolledComposite があります。ほとんど問題なく動作しますが、ほとんどの行 (一番右の部分) を埋める大きなフィールドがある場合があります。

フォーカスがこのフィールドにあり、setShowFocusedControl(true) が呼び出されている場合、swt はフィールドの右端を表示することを主張します。これは、大きなスプレッドシートを右端までスクロールするのと同じ効果があります。フィールドに大量のテキストが含まれることはめったにないためです。

したがって、コードで選択された戦略は、ShowFocusedControl を常にオンまたはオフに設定することであり、これは非常にバグが発生しやすいものです。

誰かがより良い戦略を提案できますか? フォーカスされたフィールドの一番左の部分を swt に表示させることはできますか?

4

1 に答える 1

1

ScrolledComposite で setOrigin(Point) または setOrigin(int, int) を使用して、スクロールされたコンテンツの原点を左上に設定できます。

于 2009-05-07T13:16:03.050 に答える