ListView.item[0].IamgeIndex :=0;
   sleep(100);
   ListView.item[0].IamgeIndex :=1;
   sleep(100);
   ListView.item[0].IamgeIndex :=2;
   sleep(100);
   ListView.item[0].IamgeIndex :=3;
   sleep(100);   
好象不起作用

解决方案 »

  1.   

    程序全写错了,是Items,不是Item,是ImageIndex,不是IamgeIndex!ListView.items[0].ImageIndex :=0;
    ListView.Repaint;
    sleep(1000);
    ListView.items[0].ImageIndex :=1;
    ListView.Repaint;
    sleep(1000);
    ListView.items[0].ImageIndex :=2;
    ListView.Repaint;
    sleep(1000);
    ListView.items[0].ImageIndex :=3;
    ListView.Repaint;
    sleep(1000);不过哪有人这么写Window程序的?Sleep的时候程序就无法相应其它消息了?还是用Timer吧,或者用线程
      

  2.   

    不能用sleep,得用GetTickCount控制循环,在循环里调用Application.ProcessMessages;把sleep(1000)改成 MySleep(1000),写一个MySleep过程:procedure MySleep( ms: Longword );
    var
      cnt: Longword;
    begin
      cnt := GetTickCount;
      while( cnt+ms<GetTickCount )
        Application.ProcessMessages;
    end;