Текущий архив: 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.45 MB
Время: 0.08 c