TListBoxについて

解決


tomo  2003-04-23 01:56:26  No: 3390  IP: [192.*.*.*]

はじめまして、ListBoxに「aaa,bbb,ccc,ddd,eee」の5つのItemsが格納されている場合に、例えば「ccc」をDblClickすると「bbb」がLabel1.Captionに表示されてしまい、どのItemsをDblClickしても「bbb」が表示されます。
何分、プログラミングを始めてまだ2週間で、Help等を参照しているのですが、どこでミスしているのか全く分かりません。
どなたか、ご指導下さい。
下記は、私が書いてみたコーディングです。

procedure TForm1.ListBox1DblClick(Sender: TObject);
var
  i:Integer;
begin
  for i := ListBox1.Items.Count-1 downto 0 do
  if i > 0 then
  Label1.Caption:=ListBox1.Items.Strings[i];
end;
end.

編集    削除
にしの  2003-04-23 02:00:38  No: 3391  IP: [192.*.*.*]

ソースを見る限り、Items[1]をラベルに入れているようですが、実際にはどういう動作を期待していましたか?

編集    削除
ん〜  2003-04-23 05:40:19  No: 3392  IP: [192.*.*.*]

クリックしたitemをLabelに表示するだけですか?

Label1.Caption:=ListBox1.Items[ListBox1.itemindex];

意味が違いますか?

編集    削除
tomo  2003-04-23 08:09:05  No: 3393  IP: [192.*.*.*]

にしのさん、ん〜さんお返事ありがとうございます。やはり初心者の私には自分がしたいことを説明するのも難しいです(^^;改めて説明させていただきますと、ListBoxに下記の様にItemsが格納されている場合に、dddをDblClickするとLabel1.Captionに  ddd  と表示させたいのです。
aaa
bbb
ccc
ddd  ←このItemをDblClick
eee
よろしくご指導下さい。

編集    削除
tomo  2003-04-23 08:27:38  No: 3394  IP: [192.*.*.*]

すみません。
どうやら、ごちゃごちゃと余計なことをしていたようで、ん〜さんご指摘の方法で解決いたしました。お騒がせ致しましたm(_ _)m

編集    削除
にしの  2003-04-23 08:30:20  No: 3395  IP: [192.*.*.*]

dddのときはdddで、aaaのときやbbbのときは何が入るのでしょうか。
予想では、aaaのときにはaaaで、bbbのときはbbb, cccのときはccc,eeeのときはeeeとなりそうですが。

そうすると、ん〜さんの書いているとおりですね。
TListBoxクラスのItemIndexプロパティに、選択した位置が入ります。
選択されていない場合は-1です。詳しくはヘルプで確認してください。

編集    削除