안녕하세요
제목과 같이 ImageList 에 이미지를 그러 넣은후에 Listview 에
표현하려 하는데 550개 정도 들어가고 나서는 더이상 ImageList 에
이미지가 추가되지 않더군요 ImageList 에 들어가는 이미지의
크기에 따라 들어가는 장수에 변화가 있는걸 보면 ImageList 에는
용량 제한이 있는것 같습니다. 해당 용량을 좀더 크게 잡거나
다른 방법으로 이 문제를 해결 하는게 가능 할까요?
아래는 간단히 테스트 하기 위한 예제 입니다.
ImageList 의 width=200, height=160 으로 ListView 의
LargeImage 에 연결하고 임의의 이미지를 그려서 600개를
넣는 단순 작업 입니다.
테스트 해보면 550개 정도 다음부턴 이미지가 추가되지 않는
것을 확인 할 수 있답니다.
///////////////////////////////////////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
var
i, n: integer;
b: TBitmap;
begin
for i:=0 to 600 do
begin
b := TBitmap.Create;
b.Width := 200;
b.Height := 160;
b.Canvas.Brush.Color := clBlue;
b.Canvas.Rectangle(0,0,200,160);
b.Canvas.Brush.Color := clRed;
b.Canvas.Rectangle(0,0,30,30);
n := ImageList_Add(ImageList1.Handle, b.Handle, 0);
with ListView1.Items.Add do
begin
Caption := IntToStr(ListView1.Items.Count);
ImageIndex := n;
end;
b.Free;
end;
end;
///////////////////////////////////////////////////////////////////////
유닛 첨부 했씀다 600개 이상 이미지를 추가해 보세요 600번
넘어가면서 부터 이미지들이 추가 안되요