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

Вниз

Как перетаскивать строки в ListBox е?   Найти похожие ветки 

 
Bel ©   (2003-08-20 11:52) [0]

Надо, чтобы пользователь мог сам мышкой устанавливать строки в определённом порядке. Можно пойти путём: OnMouseDown -> запомнить номер строки -> OnMouseUp -> передвинуть на новое место.
Может, есть другой способ, полегче? Кто-нибудь знает?


 
Skier ©   (2003-08-20 11:55) [1]

>Bel © (20.08.03 11:52)

> Может, есть другой способ, полегче?

Есть. В "Статьях" поищи...


 
Ru ©   (2003-08-20 11:55) [2]

на этом сайте, если не ошибаюсь, и на королевстве дельфи есть статьи как реализовать dra&drop (тяни-бросай)


 
VAleksey ©   (2003-08-20 11:56) [3]

Лучше использовать механизм Drag and Drop.
См. события OnDragDrop и OnDragOver.


 
Игорь Шевченко ©   (2003-08-20 11:57) [4]

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.


 
Bel ©   (2003-08-20 13:33) [5]

Всем спасибо!

to > Skier © . Блин, в FAQ посмотрел, а в статьи - забыл. :)



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-10783
Vorobyev Sergey
2003-08-21 08:33
2003.09.04
Как сохранить совместимость при передаче указат. на объект в DLL?


3-10569
M126
2003-08-15 13:04
2003.09.04
Ошибка Query


1-10787
B. Rulkov
2003-08-22 20:00
2003.09.04
Помогите мастера! проблемы с сохранением информации в файл!


3-10649
SPIRIT
2003-08-12 14:19
2003.09.04
Запросик


3-10645
Ден
2003-08-12 14:25
2003.09.04
Снова строки