Listbox.Clear あるいは Listbox.items.clear を実行しても全く空になりません。なぜなのでしょうか?Delphi 6, WindowXP です。
それは、最小の構成でのことでしょうか。
Delphi5で、ListBox1,Button1,Button2を貼り付け、
下のようなイベントを試しましたがクリアされます。
BeginUpdateしてEndUpdateしていないとか、ほかの理由は考えられませんか?
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ListBox1.Items.Clear;
end;
ひょっとして、アイドリングをしているせいでしょうか。
procedure TForm1.FormCreate(Sender:TObject);
begin
Application.OnIdle:= MyIdleHandler;
end;
として、このMyIdleHandler の手続きの中で、表示中のテキストの数字に色を付けたり、フォントを変えたりしています。
リストボックスを空っぽにできないというへんてこな現象はこのせいでしょうか?弱りました。
そうかもしれません。
例えば、
Application.OnIdle:= MyIdleHandler;
をコメントアウトしても、ListBoxはクリアされませんか?
OnIdleイベントでどういう処理をしているかがわからないので、こちらでは再現しませんでした。
# OnIdleを使用してもクリアされています
ツイート | ![]() |