FMX.ListView.TListView.OnDeletingItem
Delphi
property OnDeletingItem: TListViewBase.TDeletingItemEvent read FOnDeletingItem write FOnDeletingItem;
C++
__property OnDeletingItem;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | published | FMX.ListView.pas FMX.ListView.hpp |
FMX.ListView | TListView |
説明
ユーザーがリスト ビュー項目の削除を要求した際に、その削除が実施された前に発生します。
FMX.ListView.TListView.OnDeletingItem は FMX.ListView.TListViewBase.OnDeletingItem を継承しています。以下の内容はすべて FMX.ListView.TListViewBase.OnDeletingItem を参照しています。
ユーザーがリスト ビュー項目の削除を要求した際に、その削除が実施された前に発生します。 このイベントに対してイベント ハンドラを定義すると、自分の条件に従い、削除の実施を抑制することができます。
このイベントのイベント ハンドラには、次のパラメータがなければなりません:
想定外の削除を回避するには、イベント ハンドラで ACanDelete
に False
を設定します。
次のコード スニペットでは、項目を削除する前に、確認のためのダイアログ ボックスを表示します。 キャンセルをクリックすると、ACanDelete
は False
に設定され、リスト ビュー項目の削除がキャンセルされます:
Delphi:
procedure TMainForm.ListViewDeletingItem(Sender: TObject; AIndex: Integer; var ACanDelete: Boolean);
var
Input: Integer;
begin
Input := TDialogServiceSync.MessageDialog(
'Are you sure that you want to remove "' +
(Sender as TListView).Items[AIndex].Text + '" from the list?',
TMsgDlgType.mtConfirmation, mbOKCancel, TMsgDlgBtn.mbOK, 0);
if Input = 2 then // Cancel
ACanDelete := False;
end;
C++:
void __fastcall TMainForm::ListViewDeletingItem(TObject *Sender, int AIndex, bool &ACanDelete)
{
TListView* list = reinterpret_cast<TListView*>(Sender);
int input = TDialogServiceSync::MessageDialog(
"Are you sure that you want to remove \"" +
list->Items->Item[AIndex]->Text + "\" from the list?",
TMsgDlgType::mtConfirmation, mbOKCancel, TMsgDlgBtn::mbOK, 0);
if (input == 2) { // Cancel
ACanDelete = false;
}
}