скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Копирование выделеных строк из Listbox1 в Listbox2



Автор: Black_phoenix

{ **** UBPFD *********** by delphibase.endimus.com ****
>> копирование выделеных строк из listbox1 в listbox2

Зависимости: Windows, SysUtils, Classes, Controls, StdCtrls
Автор:       Black_phoenix, Black_phoenix@rambler.ru, Almaty
Copyright:
Дата:        30 апреля 2003 г.
***************************************************** }

public

  function GetFirstSelection(List: TCustomListBox): Integer;
  procedure MoveSelected(List: TCustomListBox; Items: TStrings);
  procedure SetItem(List: TListBox; Index: Integer);

implementation

function tform1.GetFirstSelection(List: TCustomListBox): Integer;
begin
  for Result := 0 to List.Items.Count - 1 do
    if List.Selected[Result] then
      Exit;
  Result := LB_ERR;
end;

procedure tform1.MoveSelected(List: TCustomListBox; Items: TStrings);
var
  I: Integer;
begin
  for I := List.Items.Count - 1 downto 0 do
    if List.Selected[I] then
    begin
      Items.AddObject(List.Items[I], List.Items.Objects[I]);
      // List.Items.Delete(I); // можно оставить если вы хотите чтобы в 1 списке строки удалились
    end;
end;

procedure tform1.SetItem(List: TListBox; Index: Integer);
var
  MaxIndex: Integer;
begin
  with List do
  begin
    SetFocus;
    MaxIndex := List.Items.Count - 1;
    if Index = LB_ERR then
      Index := 0
    else if Index > MaxIndex then
      Index := MaxIndex;
    Selected[Index] := True;
  end;
end;

// Пример использования:
procedure TForm1.Button1Click(Sender: TObject);
var
  Index: Integer;
begin
  Index := GetFirstSelection(listbox1);
  MoveSelected(listbox1, listbox2.Items);
  SetItem(listbox1, Index);
end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook