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

Вниз

Как с помощью мыша менять местами строки в Listbox ?   Найти похожие ветки 

 
Lizard   (2003-10-15 14:33) [0]

Помогите заставить строки в listbox подчиняться командам мыши.
Я хотел бы, чтобы при нажатии левой кнопкой (на item[] в listbox) и удерживании ее переместить на другую позицию данную строку (drag & drop), но ничего не выходит.
Спасибо.


 
Игорь Шевченко ©   (2003-10-15 14:34) [1]

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.



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

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

Наверх




Память: 0.46 MB
Время: 0.032 c
1-89369
Piero
2003-10-15 20:32
2003.10.27
Непонятная ошибка компилятора


14-89498
Dmitriy O.
2003-10-08 11:31
2003.10.27
Почему ?


3-89094
botsman
2003-10-08 10:20
2003.10.27
InterBase соединение


14-89514
Alexey Lipatov
2003-10-09 22:44
2003.10.27
Who is mr. Guru


4-89635
Davinchi
2003-08-22 13:56
2003.10.27
Hint s в Explorer e