掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TListBox の インデックスを知る方法について (ID:20959)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
igyさん、RE最下位(;´д`) さん どうもすみません。 私の説明がとても不十分のようなので、 求めている回答と違うような気がします。 もともとの処理イメージですが以下のようになります。 var BackItem: Integer = -1; procedure TForm1.ListBox1Click(Sender: TObject); begin if ( BackItem = -1) then begin // クリック直前にどの項目も選択されていない end else if ( ListBox1.ItemIndex = BackItem ) then begin // クリック直前と今回クリックされた項目が同じ end else begin // クリック直前に選択されていた項目と違う項目をクリック end; BackItem = ListBox1.ItemIndex; end; この状態ですと、リストボックスのクリックだけの処理であれば 問題ないのですが、例えば、[削除][追加][挿入]などのボタンを フォームに貼り付けて、リストの内容が変更された場合に 次に、このクリックイベントが発生されたときに BackItem の中身と実際にクリック直前に選択されていたItemIndexの値とが 違うものになってしまいます。 それぞれのボタン処理イベント等の最終で BackItem = ListBox1.ItemIndex; を実行すればよいのですが、これ以外にも 処理ボタン等があり、それらの場合に BackItem を管理しながらプログラムを作ることになります。 このとき何らかのミスにより BackItem の値が違うものになる可能性が 多々発生し、デバッグに時間がかかるため クリック直前のItemIndexとクリック後のItemIndexを比較できる方法を 探しています すみません、よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.