Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TListView управление ярлыками, как на раб. столе винды 
:(
    Опции темы
fedorov2012
  Дата 13.1.2013, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 27.8.2012

Репутация: нет
Всего: нет



Скажите, пожалуйста, как в TListView реализовать перетаскивание ярлыков друг относительно друга - т.е. подобие того как реализован раб. стол в Winows?
Или быть может уже есть готовый класс надстройка для реализации возможностей раб. стола винды через TListView?

Это сообщение отредактировал(а) fedorov2012 - 13.1.2013, 22:08
PM MAIL   Вверх
Ne1tr1n0
Дата 14.1.2013, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 1.3.2009

Репутация: 6
Всего: 8



PM MAIL   Вверх
fedorov2012
  Дата 14.1.2013, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 27.8.2012

Репутация: нет
Всего: нет



Цитата(Ne1tr1n0 @  14.1.2013,  00:08 Найти цитируемый пост)
http://decoding.narod.ru/faq/component/lis...istview001.html 

Спасибо за ссылку, но там представлен бред полный, например, вот как там выглядит реализации метода OnDragDrop, который вызывает ошибку.
Код

procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  LI: TListItem;
  i1, i2: integer;
begin
   ListView1.Items.BeginUpdate;
   LI := TListItem.Create( ListView1.Items );
   try
      i1 := ListView1.Selected.Index;
      // или i1 := ValueList.ItemIndex - на ваше усмотрение
      i2 := ListView1.DropTarget.Index;
      LI.Assign( ListView1.Items[i1] );
      ListView1.Items[i1].Assign( ListView1.Items[i2] );
      ListView1.Items[i2].Assign( LI );
   finally
      LI.Free;
      ListView1.Items.EndUpdate;
   end;
end;


Вместо простой реализации:
Код

if (TListView(Source).Selected <> nil) then
  TListView(Source).Selected.Position := Point(X, Y);


Скажите, пожалуйста, как реализовать Drag&Drop в ListView, чтобы значки друг на друга не наезжали - т.е. подобие опции "Выравнивать по сетки" раб. стола Windows.
PM MAIL   Вверх
fedorov2012
  Дата 17.1.2013, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 27.8.2012

Репутация: нет
Всего: нет



Странно, никто не знает?
PM MAIL   Вверх
gesper
Дата 17.1.2013, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: 1
Всего: 2



Цитата

Спасибо за ссылку, но там представлен бред полный,

Ну раз бред, значит на этом форуме все умолешенные и не смогут постигнуть истину доступную тебе, о великий.  smile 

 smile  Правильно написана функция. и компонент работает по классической норм схеме, а вот ты не умеешь определять залачи и конкретизировать вопросы, плюс если хочешь волшебство, то из воздуха оно не появляется.

"Хочешь чудо, сделай его своими руками".
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0928 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.