Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.07;
Скачать: CL | DM;

Вниз

Как использовать технологию DragDrop?   Найти похожие ветки 

 
Shopot ©   (2005-07-19 08:53) [0]

Как использовать технологию DragDrop? Если есть хорошая дока,
киньте ссылку, плз.


 
Big Joe ©   (2005-07-19 09:02) [1]

В каких целях ?


 
Fynjy1984 ©   (2005-07-19 09:07) [2]

http://www.delphimaster.ru/articles/dragndrop/index.html


 
Fynjy1984 ©   (2005-07-19 09:07) [3]

http://www.delphimaster.ru/articles/dragndrop/index.html


 
Big Joe ©   (2005-07-19 09:10) [4]

Drag and Drop для TListBox на примере двойного списка
------------------------------------------------------

procedure TfrDualList.ListDragOver(Sender, Source: TObject; X,
 Y: Integer; State: TDragState; var Accept: Boolean);
var
 DragIndex: integer;
begin
 // из другого листбокса принимаем всегда
 if Source <> Sender then
   Accept := true
     // а если это мы сами - надо проверить возможность изменения порядка
   // в списке и позицию сбрасывания
 else
   with (Sender as TListBox) do
   begin
     Accept := False;
     if not Sorted and ((SelCount = 1) or (not MultiSelect)) then
     begin
       DragIndex := ItemAtPos(Point(X, Y), True);
       if (DragIndex >= 0) and (DragIndex <> ItemIndex) then
         Accept := True; // попали внутрь видимого списка
     end;
   end;
 // установка изображения курсора
 if State = dsDragLeave then
   (Source as TListBox).DragCursor := crDrag;
 if (State = dsDragEnter) and ((Source as TListBox).SelCount > 1) then
   (Source as TListBox).DragCursor := crMultiDrag;
end;

procedure TfrDualList.ListDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
 if Source <> Sender then // перемещаем элементы из другого листбокса
   MoveItems(TListBox(Source), TListBox(Sender))
 else
   BoxMoveSel(TListBox(Sender), // перемещаем элемент внутри списка
     TListBox(Sender).ItemAtPos(Point(X, Y), True));
end;


 
Shopot ©   (2005-07-19 09:26) [5]

Хорошо. А просто описание методов DragDrop формы и визуальных компонентов не скажите где найти?



Страницы: 1 вся ветка

Текущий архив: 2005.08.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.058 c
14-1121273671
Е-клмн
2005-07-13 20:54
2005.08.07
Я - идиот. Вы? (Да Нет)


14-1121358494
Магнум
2005-07-14 20:28
2005.08.07
Игры на КПК


4-1118396699
Андрей Жук
2005-06-10 13:44
2005.08.07
Почему такой вот код неверно работает?


3-1120295479
xroot
2005-07-02 13:11
2005.08.07
Формат поля


14-1121358865
Андрей Жук
2005-07-14 20:34
2005.08.07
Попрошу только дочитать до конца статью...