Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать чтобы в листбоксе таскать туда сюда


ao1973 ©   (2002-07-04 23:00:00) 

Как сделать чтобы в листбоксе таскать туда сюда элементы
у скажем как песни в плейлисте у винампа?


^Sanya   (2002-07-05 00:37:00) [1]

А если из одного ЛистБокса в другой, то такая фича рулит
(писал в расчёте на кучу листбоксов):

/////////////////////////////////////////////////////////////////
///-------------------- Разрешаем принять или нет ? -------------
////////////////////////////////////////////////////////////////////////////////
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;


lak_b   (2002-07-05 00:26:00) [2]

http://delphi.mastak.ru/articles/dragndrop/index.html


lak_b   (2002-07-05 00:18:00) [3]

Drag"n"Drop


Наверх

Титульная страница Поиск, карта сайта Написать письмо