Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 10.07.2009, 20:55   #1
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
Вопрос Как перетащить элемент ListView в другой ListView?

у меня есть форма на ней два ListView хочу из одного в другой перетащить, и чето не могу понять что не работает. И еще вопрос потом хочу сделать так: моя программа запущена два раза и между этими экземплярами программы можно было перекидывать элементы ListView. подскажите плиз
Вложения
Тип файла: rar DRAG&DROP.rar (285.4 Кб, 32 просмотров)
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
Paul Hindenburg вне форума
Старый 12.07.2009, 12:27   #2
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Насчёт первого вопроса
Может поможет , не знаю правильно или нет , но работает
Перетягиваем из ListView2 в ListView3
Код:
procedure TForm1.ListView3DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  if Source = ListView2 then
    begin
      ListView3.AddItem(ListView2.Items[ListView2.ItemIndex].Caption,ListView2.Items[ListView2.ItemIndex]);
      ListView3.Items[ListView3.Items.Count-1].ImageIndex := ListView2.Items[ListView2.ItemIndex].ImageIndex ;
    end;
end;

procedure TForm1.ListView3DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  if (Source is TListView) then
    Accept := True;
end;

Последний раз редактировалось lexaltd; 12.07.2009 в 12:31.
lexaltd вне форума
Старый 12.07.2009, 14:48   #3
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
Счастье

Спасибо, но я уже сделал по-своему и у меня код универсальней
Код:
procedure TForm2.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  ListItem:TListItem;
begin
if Source <>Sender then
begin
ListItem :=(Sender as TListView).Items.Add;
ListItem.Position:=Point(X,Y);
ListItem.Caption := (Source as TListView).Selected.Caption;
ListItem.ImageIndex := (Source as TListView).Selected.ImageIndex;
(Source as TListView).Selected.Delete;
end else (Sender as TListView).Selected.Position:=Point(X,Y);
end;

procedure TForm2.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
Accept := true;

end;

procedure TForm2.ListView2DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  ListItem:TListItem;
begin
if Source <>Sender then
begin
ListItem :=(Sender as TListView).Items.Add;
ListItem.Position:=Point(X,Y);
ListItem.Caption := (Source as TListView).Selected.Caption;
ListItem.ImageIndex := (Source as TListView).Selected.ImageIndex;
(Source as TListView).Selected.Delete;
end else (Sender as TListView).Selected.Position:=Point(X,Y);
end;

procedure TForm2.ListView2DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
Accept := true;
end;
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
Paul Hindenburg вне форума
Старый 12.07.2009, 14:50   #4
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
По умолчанию

теперь вот хочется сделать перетаскивание нескольких элементов, при mutltiselect = true
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
Paul Hindenburg вне форума
Старый 13.07.2009, 17:12   #5
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Цитата:
Сообщение от Paul Hindenburg Посмотреть сообщение
теперь вот хочется сделать перетаскивание нескольких элементов, при mutltiselect = true
Может есть и другое решение:
Код:
procedure TForm1.ListView3DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  i : Integer;
begin
  if Source = ListView2 then
    begin
     for i := 0 to ListView2.Items.Count - 1 do
      begin
       if ListView2.Items[i].Selected = True then
        begin
          ListView3.AddItem(ListView2.Items[i].Caption,ListView2.Items[i]);
          ListView3.Items[ListView3.Items.Count-1].ImageIndex := ListView2.Items[i].ImageIndex ;
        end;
      end;
    end;
end;
lexaltd вне форума
Старый 26.01.2013, 11:35   #6
lordonx3
 
Регистрация: 17.04.2012
Сообщений: 7
По умолчанию

http://www.programmersforum.ru/showthread.php?t=226224
Cхожая ситуация, вомзожно кто-то сможет помочь?
lordonx3 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ListView как добавить SubItem AGEETO Помощь студентам 1 14.06.2010 12:20
Как в ListView показать выделенный элемент? Stilet Компоненты Delphi 2 02.07.2009 12:21
Как выделить всю строку в ListView MasterofCDM БД в Delphi 2 03.07.2008 16:13
ListView: как поймать CDDS_POSTERASE в NM_CUSTOMDRAW instance Win Api 0 12.05.2008 16:33
ListView в другой программе Domoffou Win Api 2 22.01.2008 08:07