Q&A

  • ListView 에서 selectALL
제가 StShellListView 콤포넌트를 쓰는데요 파일 목록 보여줄떼 괜찮아서..
근대 단점이 좀 느리다는거더군요. 특히 아이템(파일)들 다중 선택할때 엄청느리요.
마우스 드래그로 또는 selectall로 모든 파일 선택할때 파일이 200개만 넘어가면 버벅
거리더군요. 아래 SELECTALL 프로스져 소스..
<!--CodeS-->
procedure TCustomListView.SelectAll;
var
I: Integer;
begin
for I := 0 to Items.Count - 1 do
   Items[I].Selected := True;
end;
<!--CodeE-->
그래서 말인데 마우스로 선택할때 첫번째꺼 선택한상태에서 시프트키 누르고 마지막
아이템 누르면 그 범위에 있는 아이템은 빠르게 선택이 되더군요..
그래서 이걸 마우스 이용없이 수동으로 (소스로) 할 수 있는 방법이 없을까요??
3  COMMENTS
  • Profile
    최용일 2006.03.22 01:50
    안녕하세요. 최용일입니다.

    아마도 화면 업데이트만 막아도 상당히 빨라질것같은데요...

    <!--CodeS-->
    ListView1.Items.BeginUpdate;
    try
      ListView1.SelectAll;
    finally
      ListView1.Items.EndUpdate;
    end;
    <!--CodeE-->

    제가 1024개 선택해봤는데 0.5초도 안걸리는군요...

    ^^ 항상 즐코하세요...

  • Profile
    강민성 2006.03.22 02:29
    먼저 답변 감사 합니다. ^^
    그런데 그냥 TLISTVIEW 콤포넌트는 빠른데요
    제가 사용한 TstShellListView 콤포넌트는 무지 느려요. 소스는 같은데 -.-; 그래서 그방법밖에 없겠다 해서요..



  • Profile
    최용일 2006.03.22 03:37
    안녕하세요. 최용일입니다.

    TstShellListView는 뭔지 모르겠구요. 델파이 6,7에서 지원하는 TShellListView에서 테스트했습니다.

    ^^ 항상 즐코하세요...