また、質問があります。
ホント、初心者的な質問かもしれませんが、お許しください m(_ _)m
ListBoxで、特定の行を、消すのではなく、表示しなくする方法ってのはありますか?
Deleteを使うと、他の行のインデックスが変わってしまうので、他の行のインデックスを保持したまま、リストから消したいのですが・・・
一応、ListBoxのプロパティやメソッドは確認したつもりですが、それらしいものは見つかりませんでした・・・
Visibleとかがあれば簡単だったのですが・・・
いい方法はないでしょうか?
Halbow です。
> ListBoxで、特定の行を、消すのではなく、表示しなくする方法ってのはありますか?
ありません。
> Deleteを使うと、他の行のインデックスが変わってしまうので、他の行の
> インデックスを保持したまま、リストから消したいのですが・・・
Delete でもインデックスを保持するならいいんですか?
それなら、項目に '' を代入するだけです。
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items[7] := '';
end;
>一応、ListBoxのプロパティやメソッドは確認したつもりですが、それらしいものは見つかりませんでした・・・
Visibleとかがあれば簡単だったのですが・・・
現状のままやるのには別にデータリストを用意して
Halbowさんのかかれたようにするのも一案ですが
コンポーネント作るというのも一案では?
本件はさほど難易度も高くないしいい例だと思います。
コンポーネントはインストールしないでTlistBoxから派生させれば
プロジェクトのフォルダーにソースがあれば
設計時にVisible設定は出来なくても動的変更は可能なはず
なるほど・・・
''を代入するだけで出来たんですね。
またまた、私の知識不足でした。
確かに、これくらいなら、コンポーネントを作るのも、さほど難しくなさそうですね。
勉強のために、作ってみます。
Halbowさん、XOOXさん、どうもありがとうございました。
ツイート | ![]() |