T.J*_*.J. 0 delphi delphi-2007
我已经为Delphi 2007应用程序创建了一个资源文件.资源文件包含10个Bitmap条目.我想知道是否有办法通过递归浏览资源文件将所有位图加载到Imagelist中,或者我是否必须一次将它们拉出一个.
提前致谢.
要将RT_BITMAP当前模块中的所有资源类型图像添加到图像列表,我将使用:
uses
CommCtrl;
function EnumResNameProc(hModule: HMODULE; lpszType: LPCTSTR; lpszName: LPTSTR;
lParam: LONG_PTR): BOOL; stdcall;
var
BitmapHandle: HBITMAP;
begin
Result := True;
BitmapHandle := LoadBitmap(HInstance, lpszName);
if (BitmapHandle <> 0) then
begin
ImageList_Add(HIMAGELIST(lParam), BitmapHandle, 0);
DeleteObject(BitmapHandle);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumResourceNames(HInstance, RT_BITMAP, @EnumResNameProc,
LONG_PTR(ImageList1.Handle));
end;
Run Code Online (Sandbox Code Playgroud)