Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c