Форум: "Основная";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
Внизкак из listbox1 перенести выделеные строки в listbox2 ? Найти похожие ветки
← →
Striker (2003-04-30 12:08) [0]Я знаю как перенести все строки или только выделеную 1 строку
а если в listbox выделены 3,5,455 строк ? как скопировать или перенести только выделенные
← →
MBo (2003-04-30 12:09) [1]проверять каждую на Selected
← →
Striker (2003-04-30 12:14) [2]> MBo
это конечно можно ! :) а если например у меня 99999 строк ?
← →
jel (2003-04-30 12:17) [3]Даже если больше - другого пути нет.
См.
> MBo © (30.04.03 12:09)
← →
stone (2003-04-30 12:18) [4]TListBox.CopySelection (Destination: TCustomListControl);
TListBox.MoveSelection(Destination: TCustomListControl);
выбирай что больше подходит
← →
MBo (2003-04-30 12:19) [5]>stone
Это в каких Delphi появилось????
← →
stone (2003-04-30 12:24) [6]Точно не помню, но в 6-ой уже точно было
← →
Striker (2003-04-30 12:25) [7]
> stone
я в delphi новичёк так что не знаю как применять эту команду
пробывал так listbox2.CopySelection(listbox1);
программа компилиться но не хочет копировать выдеенные элементы
← →
jel (2003-04-30 12:25) [8]
> Даже если больше - другого пути нет.
Упс. :(
> stone © (30.04.03 12:18)
Абсолютно прав. В 6 точно есть.
← →
jel (2003-04-30 12:29) [9]
> Striker (30.04.03 12:25)
В первом боксе выделяешь чего хочешь и копируешь во второй
ListBox1.CopySelection(ListBox2);
← →
stone (2003-04-30 12:29) [10]Striker (30.04.03 12:25)
Можешь посмотреть открыв
File -> New -> Forms -> Dual List Box
Возможно, что это как раз то, что тебе надо.
Удачи.
← →
Striker (2003-04-30 12:41) [11]Спасибо всем !
я сделал так
--------------------
public
function GetFirstSelection(List: TCustomListBox): Integer;
procedure MoveSelected(List: TCustomListBox; Items: TStrings);
procedure SetItem(List: TListBox; Index: Integer);
---------------
function tform1.GetFirstSelection(List: TCustomListBox): Integer;
begin
for Result := 0 to List.Items.Count - 1 do
if List.Selected[Result] then Exit;
Result := LB_ERR;
end;
procedure tform1.MoveSelected(List: TCustomListBox; Items: TStrings);
var
I: Integer;
begin
for I := List.Items.Count - 1 downto 0 do
if List.Selected[I] then
begin
Items.AddObject(List.Items[I], List.Items.Objects[I]);
// List.Items.Delete(I); // можно оставить если вы хотите чтобы в 1 списке строки удалились
end;
end;
procedure tform1.SetItem(List: TListBox; Index: Integer);
var
MaxIndex: Integer;
begin
with List do
begin
SetFocus;
MaxIndex := List.Items.Count - 1;
if Index = LB_ERR then Index := 0
else if Index > MaxIndex then Index := MaxIndex;
Selected[Index] := True;
end;
end;
----------
пример использования :
procedure TForm1.Button1Click(Sender: TObject);
var
Index: Integer;
begin
Index := GetFirstSelection(listbox1);
MoveSelected(listbox1, listbox2.Items);
SetItem(listbox1, Index);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c