FMX.ListView.TListViewBase.OnDeleteItem
Delphi
property OnDeleteItem: TDeleteItemEvent read FOnDeleteItem write FOnDeleteItem;
C++
__property TDeleteItemEvent OnDeleteItem = {read=FOnDeleteItem, write=FOnDeleteItem};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | public | FMX.ListView.pas FMX.ListView.hpp |
FMX.ListView | TListViewBase |
説明
ユーザーがリスト ビュー項目の削除を要求した際に、その削除が実施された後に発生します。 削除が実施される前にイベントをキャッチし、実際には行われないようにするには、このイベントの代わりに、OnDeletingItem に対してイベント ハンドラを記述します。
このイベントのイベント ハンドラには、次のパラメータがなければなりません:
Sender
- リスト ビューAIndex
- 削除されたリスト ビュー項目のインデックス- メモ: この時点で削除される項目のデータにアクセスすることはできません。これは、リスト ビュー内のそのインデックスを別の項目が使用しているからです。 削除された項目に関する情報にアクセスする必要がある場合には、OnDeletingItem のイベント ハンドラを代わりに記述してください。
次のコード スニペットは、項目が削除された後にステータスバー内のテキストを更新し、削除された項目の位置と、リスト内の残りの項目の数を表示します:
Delphi:
procedure TMainForm.ListViewDeleteItem(Sender: TObject; AIndex: Integer);
begin
StatusBar.Text := 'Item ' + IntToStr(AIndex+1) + ' has been removed from the list. ' +
IntToStr((Sender as TListView).Items.Count) + ' items remaining.';
end;
C++:
void __fastcall TMainForm::ListViewDeleteItem(TObject *Sender, int AIndex)
{
TListView* list = reinterpret_cast<TListView*>(Sender);
MainForm->StatusBar->Text = "Item " + UnicodeString(AIndex+1) + " has been removed from the list. " +
UnicodeString(list->Items->Count) + " items remaining.";
}