Delphi の ListView スクロール時に残像のようなものが表示される → ランタイムテーマが原因

以前から気になっていた Delphi の ListView(TListView) スクロール時に残像のようなものが表示される
基本的に仮想リストを使用しているので、通常リストは未確認

キャプチャできなかったので再現画像(一瞬だが↓こういうのが見える)

確認した項目
  • DoubleBuffered を有効にすると描画は早くなるが症状は残る
  • DoubleBuffered を無効にすると、そもそもが遅くなる
  • 複数の環境で再現→PCのスペックは関係なさそう
  • リストの Count値は多くても少なくても発生
  • 仮想リストの OnData で投入する文字列を定数にして、投入時間を最小限にしても再現
たどり着いたのが、ランタイムテーマ
これを無効にするとほぼ解消されます、ただし Windows2000 のような素のデザインになります
今回はオレオレアプリだったので、これで対応したけど...

コメント