ValueListEditorで垂直方向スクロールするには?

解決


ぱぴよん  2007-02-19 19:09:31  No: 24963

【環境】
・WindowsXP
・Delphi7

お世話になります。
みなさん、はじめましてぱぴよんと申します。
よろしくお願いいたします。

したいことは
「ValueListEditorのスクロール位置(垂直方向)の指定」
です。

以下のようにしましたが、スクロール位置は変わりませんでした。

ValueListEditor.ScrollBy(X, Y);
でスクロール位置を指定しようとしています。

例えば5番目をリスト上の一番上に表示しようとする場合、
ValueListEditor.ScrollBy(5, 0);
ValueListEditor.ScrollBy(+5, 0);
としていますが、スクロール位置は一番上(先頭のアイテム)
のままになっています。

ValueListEditor.ScrollBy(0, 5);
ValueListEditor.ScrollBy(0, +5);
としても同じでした。

お時間があるときにご回答頂ければうれしいです。
よろしくお願いいたします。


尾も白い  2007-02-22 21:01:18  No: 24964

>ValueListEditor.ScrollBy(X, Y);
>でスクロール位置を指定しようとしています。
>例えば5番目をリスト上の一番上に表示しようとする場合、

ValueListEditor.ScrollBy(0, -5*(ValueListEditor.DefaultRowHeight+1));
とした場合、確かに5行目が一番上にスクロールしたように見えるけど、
実は一時的にCanvasの書き換えが行われるだけで、それは単なる見た目だけ。
このメソッド 一体ナンのために存在するんだろう。謎...
閑話休題。
ValueListEditor.TopRow := 5;


ぱぴよん  2007-02-23 18:34:25  No: 24965

尾も白い様、ご回答ありがとうございます。
ScrollBy()では、ダメだったのですね^^;

> ValueListEditor.TopRow := 5;
を試してみたところ、5行目が先頭に表示されました。

尾も白い様、貴重なお時間を割いてご回答頂き、
本当にありがとうございました。

解決です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加