ImageList niepoprawnie wyświetla ikonki XP. Co robić
Standardowy ImageList nie radzi sobie z 32 bitowymi ikonkami.
Jest sposób, aby to naprawić. Niestety... zadziała tylko na WinXP.
Dodatkowo ImageList nie moze zawierać ikon. Musisz dodać je po wykonaniu
poniższej procedury (np. z zasobów, z dysku).
Program musi zawierać manifest XP.
Do listy uses dodaj CommCtrl.
procedure ImageListTo32Bit(const ImageList: TImageList);
begin
if Assigned(ImageList) then
begin
// czyscimy ikonki:
ImageList.Clear;
ImageList.Handle := ImageList_Create(16, 16, ILC_COLOR32 or ILC_MASK, 0, 0);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ImageListTo32bit(ImageList1);
// tu do listy musisz dodac ikonki
ImageList1.AddIcon(Image1.Picture.Icon);
end;
Nie... CommCtrl :-P
do listy uses dodaj CommCtrl
CHYBA ComCtrl???