StringgridをScrollBoxに貼り付けた時のスクロールの動きについて


まき  2010-03-09 10:11:47  No: 37939  IP: 192.*.*.*

RowCount1000でScrollBarsをssNoneにしたStringgridをScrollBoxに貼り付けてスクロールはScrollBoxで行うコンポーネントを作成しました。
ScrollBoxの高さはStringgridの行が20行見える高さに設定しています。

ところがいざ使用してみると、スクロールを下に動かしてStringGridのセルにカーソルを当てた時にスクロールが勝手に一番上に移動する現象が起きてしまいます。
具体的には上記で作成したコンポーネントとは別のコンポーネントにカーソルを置いた状態にしてから、上記のScrollBoxで下にスクロールを動かしてStringGrid内のセルにカーソルを置くとその現象が起こります。

ScrollBoxとStringgridが上手く同期化していないのか、設定が間違っているのか、Stringgridに何かそういった性質があるのか色々調べてみたのですが分からず困っております。

どうぞよろしくお願いいたします。

編集 削除
tor  2010-03-09 12:19:01  No: 37940  IP: 192.*.*.*

ScrollBoxは、内部にあるコンポーネントのいずれかにフォーカスが移動すると
そのコンポーネントを範囲内に収めるようにスクロールします。
StringGridは全体で一つのコンポーネントです。
コンポーネントがスクロール領域より大きい場合、基点である左上が範囲内に入るようスクロールするという結果になります。

StringGridにスクロールバーを付けたくない理由はわかりませんが
外部に付けたいのなら、ScrollBarを単体で貼り付けてやった方がいいですね。

編集 削除