Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
1-89255
Петр
2003-10-16 10:55
2003.10.27
Как программно выделить строку в DBGrid? Или вызвать OnCellClick?


1-89305
XenonXX
2003-10-12 02:13
2003.10.27
ListBox -> items -> font-> color


14-89491
Tornado
2003-10-09 16:15
2003.10.27
Hастоящие программисты считают, что...


1-89204
имя
2003-10-15 14:37
2003.10.27
Lam


1-89351
Yuraz
2003-10-16 09:45
2003.10.27
Как отключит скринсавер на время выполнения программы?




   Наверх