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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2011, 00:43   #1
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
Стрелка Реализация Drag and DOCK

для программы нужно:
2 скролбокса и на них по 1 панел, хочу чтоб при ператаскивании панел менялись местами,
а если просто кликнуть по панельке и не преренести, что б она оставалась в скроле,
а не вылазила, тоесть как бы отмена деиствия

но ето не все , прошу объяснить весь процесс, для реализации в ручном режиме,
вернее то что я сам разобрать не смог после прочтения
http://www.delphisources.ru/pages/fa...interface.html
а в программе я реализую

Код:
//
procedure TForm1.Panel1StartDock(Sender: TObject;
  var DragObject: TDragDockObject);
begin
//Sender - переносимый объект
//DragObject - специальный объект, создаваемый на время процесса переноса и содержащий его свойства - док
end;

//
procedure TForm1.Panel1EndDock(Sender, Target: TObject; X, Y: Integer);
begin
//Sender - переносимый объект
//Target - объект - док
end;

// Как только пользователь нажал кнопку мыши над переносимым компонентом и начал сдвигать его с места
procedure TForm1.Panel1GetSiteInfo(Sender: TObject; DockClient: TControl;
  var InfluenceRect: TRect; MousePos: TPoint; var CanDock: Boolean);
begin
//Sender - объект - док
//Dockclient - переносимый объект
//InfluenceRect - предоставляемый доком прямоугольник
//MousePos - где находица перетаскиваемыи объект
//CanDock - принимает ли док компонент
end;

// происходит при перемещении перетаскиваемого компонента над доком
procedure TForm1.Panel1DockOver(Sender: TObject; Source: TDragDockObject;
  X, Y: Integer; State: TDragState; var Accept: Boolean);
begin
 //Sender - 
 //Source -
 //State -
 //Accept -
end;

// происходит в момент отпускания компонента над доком
procedure TForm1.Panel1DockDrop(Sender: TObject; Source: TDragDockObject;
  X, Y: Integer);
begin
 //Sender - 
 //Source -
end;

// сигнализирует об уходе компонента с дока и происходит в момент его "приземления" в другом месте
procedure TForm1.Panel1UnDock(Sender: TObject; Client: TControl;
  NewTarget: TWinControl; var Allow: Boolean);
begin
 //Sender -
 //Client -
 //NewTarget -
 //Allow -
end;
вопросы
1. кто( перетаскиваемыи объект и объект приемник) и в какои последовательности вызывает все ети события ?
2. что означают параметры в етих событиях ?

PS. знаю что запросы большие, но кто чем может, я по ходу на практике разбираю
VirusN13

Последний раз редактировалось ArtGrek; 05.03.2011 в 00:54.
ArtGrek вне форума Ответить с цитированием
Старый 05.03.2011, 02:36   #2
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

А если в хэлпе посмотреть "drag-and-drop" ?
Там и примеры приведены.
Опять же Delphi\Demos\Docking
asmodey1 вне форума Ответить с цитированием
Старый 05.03.2011, 05:12   #3
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
Сообщение от asmodey1 Посмотреть сообщение
А если в хэлпе посмотреть "drag-and-drop" ?
Там и примеры приведены.
Опять же Delphi\Demos\Docking
к сожалению много пользы не принесло

я начал двигать елементы которые не могут принимать компоненты(картинки),
и у них из етого всего есть только 2 события, получаеца в процессе перетаскивания,
все остальное происходит на компонентах приемниках?
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 10.03.2011, 05:10   #4
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Вот, тоже недавно баловался с Drag&Dock. Думал, доведу до ума выложу, но, видно, несудьба. Так что не судите строго.
Вложения
Тип файла: zip Sib_DragAndDock.zip (3.2 Кб, 78 просмотров)
Sibedir вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Drag&Dock не получается. Leo20 Общие вопросы Delphi 3 29.11.2009 15:14
Drag and Dock shadowofjustice Общие вопросы Delphi 14 14.11.2009 01:44
Тест на Delphi (Drag&Dock) genek777 Помощь студентам 6 08.11.2009 19:40
реализация Drag /n/ Drop в TreeView nusik Общие вопросы Delphi 3 11.06.2009 21:11
Нужна помощь (Drag-And-Drop & Drag-Abd-Dock)) Arkuz Общие вопросы Delphi 1 18.04.2009 00:15