用Listview 像acdsee 显示缩略图功能,但当删除一个图片后,如何让其他图片位置自动刷新。现在是显示了一个空白位置。
http://community.csdn.net/Expert/topic/4787/4787957.xml?temp=.1488306listview1.Items[2].Delete;
listview1.AlphaSort;
---------------
ListView1.Arrange(arDefault); 已解决!
但我用了ListView_SetIconSpacing(listview.handle,50,50);设置图片间矩。执行listview1.AlphaSort; 后Y间距就乱了。why????????????????

解决方案 »

  1.   

    不会是系统的问题吧
    我这儿执行listview1.AlphaSort也没有乱系统:Windows Server 2003 with SP1 + Delphi 7
      

  2.   

    谢谢小虫:)!
    你用ListView_SetIconSpacing设置了间距吗?不用它的话,我这里也没有乱!
      

  3.   

    没问题
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ListView_SetIconSpacing(listview1.handle,80,80);
    //ListView1.Arrange(arDefault);
    ListView1.AlphaSort;
    end;procedure TForm1.Del1Click(Sender: TObject);
    begin
      ListView1.DeleteSelected;
      ListView1.AlphaSort;
    end;
      

  4.   

    postren(小虫) 方便加我msn吗? [email protected]
      

  5.   

    这样是没问题!但我写的那里就不行!看来是其他地方出问题了,我用的是RzListView,写的ocx。测试下面也可以。
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ListView_SetIconSpacing(listview1.handle,80,80);
    //ListView1.Arrange(arDefault);
    ListView1.AlphaSort;
    end;procedure TForm1.Del1Click(Sender: TObject);
    begin
      ListView1.DeleteSelected;
      ListView1.AlphaSort;
    end;
      

  6.   

    谢谢小虫。找到原因了,我的图是动态写入的,ListView_SetIconSpacing(listview1.handle,80,80);
    要放到写入图片之后,原来写在formcreate里了:)