TListView的图标排列问题(200)

  • 主题发起人 主题发起人 xself
  • 开始时间 开始时间
X

xself

Unregistered / Unconfirmed
GUEST, unregistred user!
ListView1.SortType:=stNone;ListView1.ViewStyle:=vsIcon;ListView1.IconOptions.AutoArrange:=True;当我调用ListView1.Items.Insert时,不管插入在什么位置,图标不是显示在插入的位置,而是显示在最后面。问题:怎么样才能使图标显示在插入的位置上?
 
已经自己解决了又不能把分送给自己看看有没有更好的方法
 
特来接分~贴出来分享下~~~呵呵~
 
既然自己解决了,很应该把解决方法贴出来,既然想别人无私回答你的问题,自己首先不能藏私。
 
TO:forgot2002说的没错。方法就时插入后再调用一次AlphaSort,而排序的依据就是Item.Index
 
问题发出去后,问题有自己解决了,分却没了,我也经历过。这种分就这么晾着!
 
做做好人吧,正好4个人,一个人50分,呵呵。
 
好久不来,一来就接分,呵呵!舒服啊!
 
得分有什么用? 加入论谈是汲取知识得
 
我原来写的,通过拖拽item,想放在那里就放在那里。lz能够把你实现的方法晒晒?procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);var SListItem: TListItem; AListItem: TListItem; tempint, i: integer; tempstr: string;begin//判断是否是Tlistview if (Source is TListView) and (Sender is TListView) then begin //得到被拖拽的item SListItem := Listview1.Selected; //得到目标item AListItem := ListView1.GetItemAt(x, y); //如果没有目标item,则目标item就是最后一个item if Alistitem = nil then alistitem := Listview1.Items.Item[listview1.Items.Count - 1];//更新 listview1.Items.BeginUpdate;//如果从后向前拖拽 if slistitem.Index > alistitem.Index then begin tempint := slistitem.ImageIndex; tempstr := slistitem.Caption; for i := slistitem.Index downto alistitem.Index + 1 do begin listview1.Items.Item.ImageIndex := listview1.Items.Item[i - 1].ImageIndex; listview1.Items.Item.Caption := listview1.Items.Item[i - 1].Caption; end; listview1.Items.Item[alistitem.Index].ImageIndex := tempint; listview1.Items.Item[alistitem.Index].Caption := tempstr; end;//如果从前向后拖拽 if slistitem.Index < alistitem.Index then begin tempint := slistitem.ImageIndex; tempstr := slistitem.Caption; for i := slistitem.Index to alistitem.Index - 1 do begin listview1.Items.Item.ImageIndex := listview1.Items.Item[i + 1].ImageIndex; listview1.Items.Item.Caption := listview1.Items.Item[i + 1].Caption; end; listview1.Items.Item[alistitem.Index].ImageIndex := tempint; listview1.Items.Item[alistitem.Index].Caption := tempstr; end;//如果在同一个item上拖拽,则什么都不作//结束更新 listview1.Items.EndUpdate; end;end;
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
777
DelphiTeacher的专栏
D
D
回复
0
查看
767
DelphiTeacher的专栏
D
后退
顶部