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

Вниз

Listbox pt.2   Найти похожие ветки 

 
Bobby Digital ©   (2004-11-28 05:25) [0]

А можно ли как то в Listbox перетаскивать елементы чтоб менялся их индекс. Т.е. взть строку с Индексом 0 .. и перетянуть на строку 3


 
PZ   (2004-11-28 12:12) [1]

Один из вариантов решения может быть таков:

Var
 Ind : Integer;
 S : String;

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);

begin
 Ind := ListBox1.ItemIndex;
 S := ListBox1.Items.Strings[Ind];
end;

procedure TForm1.ListBox1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
Var
 I : Integer;
begin
 I := ListBox1.ItemIndex;
 ListBox1.Items.Insert(I, S);
 ListBox1.Items.Delete(Ind);
end;


 
Bobby Digital ©   (2004-11-28 12:41) [2]


> PZ  

нет это неверное решение ... потому что функия Insert  заменяет один элемент на второй, а не меняет их местами. Тут нужно использовать функцию Move

var
_index: integer;

procedure TForm4.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
_index := ListBox1.ItemIndex;
end;

procedure TForm4.ListBox1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);

var
 i:integer;
 begin
I := ListBox1.ItemIndex;
ListBox1.Items.Move(_index,i);
Listbox2.Items.Add(" + ");
end;


но ... MouseUp не сосвем походит,  а есть ли какое-нибудь событие которое возникает при выделении элемента?


 
Bobby Digital ©   (2004-11-28 12:43) [3]

в смысле выделения елемента Listbox`a


 
begin...end ©   (2004-11-28 13:19) [4]

> [2] Bobby Digital ©   (28.11.04 12:41)

> потому что функия Insert  заменяет один элемент на второй

Вы в этом уверены?


 
Bobby Digital ©   (2004-11-28 13:23) [5]

to begin...end

в примере приведенном PZ - да !



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
14-1100873270
by
2004-11-19 17:07
2004.12.12
Есть ли в Delphi 7 Professional компонент TClientDataSet?


3-1100067136
SergP
2004-11-10 09:12
2004.12.12
Еще раз о номере записи dataset а в onDrawColumnCell DBGrid а


6-1094570963
pkm
2004-09-07 19:29
2004.12.12
Сеть


4-1098931561
DelphiN!
2004-10-28 06:46
2004.12.12
Свернуть абсолютно все окна


6-1092257951
Piter
2004-08-12 00:59
2004.12.12
Посоветуйте с выбором компонента для работы с TCP