Главная страница
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.033 c
14-89510
Dmitriy O.
2003-10-09 08:48
2003.10.27
Эволюция программы или


4-89650
Анюта
2003-08-20 11:40
2003.10.27
PrintScreen windows окна


1-89249
RoLeX
2003-10-14 14:55
2003.10.27
Как из DateTimePicker1.Time вычесть 120 секунд ???


3-89177
Woolen
2003-10-06 12:34
2003.10.27
Ограничения BLOB


3-89151
Bless
2003-10-07 09:11
2003.10.27
Что означает такая ошибка?