Форум: "Основная";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];
ВнизКак сделать чтобы в листбоксе таскать туда сюда Найти похожие ветки
← →
ao1973 (2002-07-04 23:00) [0]Как сделать чтобы в листбоксе таскать туда сюда элементы
у скажем как песни в плейлисте у винампа?
← →
lak_b (2002-07-05 00:18) [1]Drag"n"Drop
← →
lak_b (2002-07-05 00:26) [2]http://delphi.mastak.ru/articles/dragndrop/index.html
← →
^Sanya (2002-07-05 00:37) [3]А если из одного ЛистБокса в другой, то такая фича рулит
(писал в расчёте на кучу листбоксов):
/////////////////////////////////////////////////////////////////
///-------------------- Разрешаем принять или нет ? -------------
////////////////////////////////////////////////////////////////////////////////
procedure MoveAccept(Sender, Source:TObject; var Accept:Boolean);
begin
Accept := (Source as TListBox)<>Sender;
end;
/////////////////////////////////////////////////////////////////
///--------------------- Принимаем, если разрешено --------------
////////////////////////////////////////////////////////////////////////////////
procedure MoveDo(Sender, Source: TObject);
var
i:byte;
begin
with (Source as TListBox) do begin
for i:=0 to Items.Count-1 do
if Selected[i] then
(Sender as TListBox).Items.Add(Items[i]);
end;
end;
/////////////////////////////////////////////////////////////////
///---------------------- Пара default-made процедур ------------
////////////////////////////////////////////////////////////////////////////////
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
MoveAccept(Sender, Source, Accept);
end;
procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
MoveDo(Sender, Source);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c