procedure TForm1.FormCreate(Sender: TObject);
begin
with ListView1 do
begin
LargeImages := TImageList.CreateSize(32, 32);
LargeImages.ShareImages := TRUE;
LargeImages.Handle := SHGetFileInfo('', 0, SFI, SizeOf(SFI), SHGFI_SYSICONINDEX or SHGFI_LARGEICON or SHGFI_ICON); SmallImages := TImageList.CreateSize(16, 16);
SmallImages.ShareImages := True;
SmallImages.Handle := SHGetFileInfo('', 0, SFI, SizeOf(SFI), SHGFI_SYSICONINDEX or SHGFI_SMALLICON or SHGFI_ICON);
end;
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
ListView1.SmallImages.Free;
ListView1.LargeImages.Free;
end;以上代码能够正确执行,而且能够显示正确的文件图标,在 2000/XP 下运行没有任何问题,但是在 98 下面退出程序后,整个系统的图标全没了,快速启动、开始--程序菜单里面的图标全没了。 请前辈指教,怎么解决这问题?
begin
with ListView1 do
begin
LargeImages := TImageList.CreateSize(32, 32);
LargeImages.ShareImages := TRUE;
LargeImages.Handle := SHGetFileInfo('', 0, SFI, SizeOf(SFI), SHGFI_SYSICONINDEX or SHGFI_LARGEICON or SHGFI_ICON); SmallImages := TImageList.CreateSize(16, 16);
SmallImages.ShareImages := True;
SmallImages.Handle := SHGetFileInfo('', 0, SFI, SizeOf(SFI), SHGFI_SYSICONINDEX or SHGFI_SMALLICON or SHGFI_ICON);
end;
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
ListView1.SmallImages.Free;
ListView1.LargeImages.Free;
end;以上代码能够正确执行,而且能够显示正确的文件图标,在 2000/XP 下运行没有任何问题,但是在 98 下面退出程序后,整个系统的图标全没了,快速启动、开始--程序菜单里面的图标全没了。 请前辈指教,怎么解决这问题?
只是写在FormSHow中,不是Create中写,