| Код | procedure Exchange(WinLV: DWord; Index1,Index2:integer); var In1,In2:tagLVItemA; s1,s2:array [0..1024] of Char; begin FillChar(In1,SizeOf(In1),#0); In1.mask:=DWord(-1); CopyMemory(@In2,@In1,SizeOf(In1)); In1.iItem:=Index1; In1.pszText:=PChar(@s1); In2.iItem:=Index2; In2.pszText:=PChar(@s2); ListView_GetItem(WinLV,In1); ListView_GetItem(WinLV,In2); In1.iItem:=Index2; In2.iItem:=Index1; ListView_SetItem(WinLV,In1); ListView_SetItem(WinLV,In2); end;
|
Использование: | Код | Exchange(ListView1.Handle,0,2);
|
Автор: Girder
| Код | function DragItemInLV(LV: TListView; CurIndex, NewIndex: Integer): Boolean; var i: Integer; lstDrag: TListItem; begin Result:= False; i:= LV.Items.Count-1; if (CurIndex = -1) or (NewIndex = -1) then exit; if (CurIndex > i ) or (NewIndex > i ) then exit; lstDrag:= TListItem.Create(LV.Items); try lstDrag .Assign(LV.Items[NewIndex]); LV.Items[NewIndex].Assign(LV.Items[CurIndex]); LV.Items[CurIndex].Assign(lstDrag ); finally lstDrag.Free; end; Result:= True; end;
|
Использование: | Код | DragItemInLV(ListView1,0,2);
|
Автор: Alex |