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

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

About ListBox and Mouse [D5, Win95/98, NT4, Win2k]


AlexPotemkin ©   (2002-05-31 12:08:00) 

Вопрос такой.
Есть два ListBox, как организовать перетаскивание элементов ListBox-ов из одного в другой при помощи мышки.
Заранее благодарен за внимание к вопросу.


AlexPotemkin   (2002-05-31 14:48:00) [1]

Большое спасибо Игорю Шевченко и Толику за ответы!!!
Фразу Толика сразу напоминает стандартный ответ монстров программописания (о как выразился) которые первым делом спрашивают "На F1 ходил?", нет не ходил because лентяй от рождения.

СПАСИБО ВСЕМ ОТВЕТИВШИМ ЕЩЕ РАЗ!!!


Толик   (2002-05-31 14:36:00) [2]

File->New->Forms->DualListBox
В Борланде уже о Вас позаботились :)


Игорь Шевченко   (2002-05-31 12:26:00) [3]

Из самого в себя:
unit main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
ListBox1: TListBox;
procedure ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
ListBox1.BeginDrag({not (Button = mbLeft)}false);
end;

procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source = ListBox1 then
with ListBox1,ListBox1.Items do
Move(ItemIndex, ItemAtPos(Point(X, Y), True));
end;

procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:=Source = ListBox1;
end;

end.

По аналогии из одного в другой :-)


Наверх

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