Показано с 1 по 1 из 1
-
07.06.2007, 10:01 #1
- Регистрация
- 07.06.2007
- Сообщений
- 2
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Как заменить ListBox на ListView
Всё, казалось бы, просто, но необходимо добавлять строку в паре с объектом:
AddObject(const S: string; AObject: TObject)
С ListBox-ом было просто:
ListBox.Items.AddObject(S + ' ' + ExtractSerialNumber(SymbolicName), TObject(Inst));
...
CM_Request_Device_Eject(DEVINST(ListBox.Items.Obje cts[ListBox.ItemIndex]), @VetoType, nil, 0, 0);
Более того, мне необходимо менять местами строки ListView! И что тут выбрать? - Жёсткую привязку к какойто переменной типа Tlist, или, может кто из Вас знает как достать из ListView --> SubItems.AddObject(… , TObject(Inst)), потому что я ни одного примера не нашёл! И, как в том или ином случае корректироватьнижеописанн ый код?
procedure TFormMain.ToolButtonUpClick(Sender: TObject);
var ItemTemp: TListItem;
begin
if ListViewUse.ItemIndex>1
then begin
with ListViewUse do begin
ItemTemp:=TListItem.Create(Items);
ItemTemp.Assign(Items[ListViewUse.ItemIndex]);
Items[ListViewUse.ItemIndex].Assign(Items[1]);
Items[1].Assign(ItemTemp);
ItemTemp.free;
end;
end; //вверх
end;
procedure TFormMain.ToolButtonDownClick(Sender: TObject);
var ItemTemp: TListItem;
begin
if (ListViewUse.ItemIndex>0) and
(ListViewUse.ItemIndex<>ListViewUse.Items.Count-1)
then begin
with ListViewUse do begin
ItemTemp:=TListItem.Create(Items);
ItemTemp.Assign(Items[ListViewUse.ItemIndex]);
Items[ListViewUse.ItemIndex].Assign(Items[ListViewUse.Items.Count-1]);
Items[ListViewUse.Items.Count-1].Assign(ItemTemp);
ItemTemp.free;
end;
end; //вниз
end;
Подскажите выход!
Социальные закладки