« ■Delphi 2007 Update3 (ZIP版) | トップページ | ☆ListBoxのDrawItem No2 »

☆ListBoxのDrawItem No1

ListBoxにフォントを一覧表示するプログラムを作ってみました。 よくある自分自身のフォントでフォント名を表示させるものです。 しかしマウスをスクロールさせると表示がどうもおかしいです。
マウスを上に回転させても下に回転させても、アニメーションが上からの表示になっています。 しばらく使っていると目が回ってしまいます(笑)

いろいろと調べてみるとMicrosoftのページに、次のようなものがありました。
(2005年1月24日付になっているので、私だけが知らなかったのかも知れませんね)

BUG: ListBox コントロールは、 Windows 2000 または Windows XP で間違った方向にスクロールすることが表示されます。
(機械翻訳なので日本語が変ですね)
[引用]
現象
キーボードを使う、またはスクロール バーを使用する場合、スクロールするとき、
オーナー描画 ListBox コントロールが間違った方向の内容をスクロールすることが 
Microsoft Windows 2000 と Windows XP で表示されます。 
下でスクロールするとき、 smooth-scroll アニメーションが ListBox コントロールの
内容が上にスクロールされることが表示されるのを行います。 ListBox コントロール
が間違った方向にスクロールすることが表示されるものの、 smooth-scroll アニメ
ーションが完了したら、正しい位置にリストアイテムがあります。

回避策としては、アニメーションをさせないということなので、次のような処理をしました。
procedure TForm1.FormCreate(Sender: TObject);
begin
  SystemParametersInfo(SPI_SETLISTBOXSMOOTHSCROLLING, 0, nil, 0);
  GetFontName;
end;


Microsoft サポートオンライン
BUG: ListBox コントロールは、 Windows 2000 または Windows XP で間違った方向にスクロールすることが表示されます。

|

« ■Delphi 2007 Update3 (ZIP版) | トップページ | ☆ListBoxのDrawItem No2 »