Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Переместить элемент в TListView

Delphi , Компоненты и Классы , TListView

Переместить элемент в TListView

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

// Move item 1 after item 4 
// Bewege Item 1 hinter Item 4 

function MoveListViewItem(listView: TListView; ItemFrom, ItemTo: Word): Boolean;
 var
   Source, Target: TListItem;
 begin
   Result := False;
   listview.Items.BeginUpdate;
   try
     Source := listview.Items[ItemFrom];
     Target := listview.Items.Insert(ItemTo);
     Target.Assign(Source);
     Source.Free;
     Result := True;
   finally
     listview.Items.EndUpdate;
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   // Listview1.ViewStyle := vsReport; 
  if MoveListViewItem(Listview1, 1, 4) then
     ShowMessage('Moved!');
 end;

Привет! Я переведу текст на русский язык:

Код, который я предоставил, это функция в Delphi, которая перемещает элемент в TListView в указанную позицию. Вот что она делает:

function MoveListViewItem(listView: TListView; ItemFrom, ItemTo: Word): Boolean;
var
  Source, Target: TListItem;
begin
  Result := False;
  listView.Items.BeginUpdate;
  try
    Source := listView.Items[ItemFrom];
    Target := listView.Items.Insert(ItemTo);
    Target.Assign(Source);
    Source.Free;
    Result := True;
  finally
    listView.Items.EndUpdate;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Listview1.ViewStyle := vsReport; 
  if MoveListViewItem(Listview1, 1, 4) then
    ShowMessage('Moved!');
end;

Функция MoveListViewItem принимает три параметра: TListView для операции и индексы элемента для перемещения (ItemFrom) и места, куда он должен быть перемещен (ItemTo). Она возвращает булевое значение, указывающее, была ли операция успешной.

Внутри функции код начинает блок обновления элементов в списке. Это необходимо потому, что функция будет модифицировать элементы в списке.

Затем код получает ссылки на элемент для перемещения (Source) и место, куда он должен быть перемещен (Target). Метод Insert TListView используется для вставки нового элемента в указанную позицию (ItemTo), поэтому ссылка Target указывает на этот новый элемент. Метод Assign затем используется для копирования свойств из элемента для перемещения (Source) в новый элемент (Target).

После этого код освобождает оригинальный элемент (Source), потому что он больше не нужен.

Наконец, блок обновления элементов в списке заканчивается, и функция возвращает, была ли операция успешной или нет.

В процедуре Button1Click эта функция вызывается для перемещения первого элемента в списке в пятую позицию. Если операция была успешна, будет показано сообщение с текстом "Moved!".

Переместить элемент в TListView - статья, описывающая функцию MoveListViewItem для перемещения элемента в TListView на определенное место.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TListView ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 14:50:27/0.0033130645751953/0