Главная страница
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.018 c
1-89384
Woman
2003-10-15 14:27
2003.10.27
EConvertError


1-89231
Lam
2003-10-15 11:08
2003.10.27
Путь


1-89234
Egor
2003-10-14 17:48
2003.10.27
Delphi && Microsoft Word


8-89411
!ZasranYolidza!
2003-06-26 19:38
2003.10.27
bmp to jpg converting


14-89564
Knight
2003-10-07 23:08
2003.10.27
Ну вот прочитал...