Прямая поддержка установки изображений для кнопок в Inno Setup отсутствует.
Поэтому вам нужно вернуться к API Win32.
function LoadImage(hInst: Integer; ImageName: string; ImageType: UINT; X, Y: Integer;
Flags: UINT): THandle;
external '[email protected] stdcall';
function ImageList_Add(ImageList: THandle; Image, Mask: THandle): Integer;
external '[email protected] stdcall';
function ImageList_Create(CX, CY: Integer; Flags: UINT; Initial, Grow: Integer): THandle;
external '[email protected] stdcall';
const
IMAGE_BITMAP = 0;
LR_LOADFROMFILE = $10;
ILC_COLOR32 = $20;
BCM_SETIMAGELIST = $1600 + $0002;
type
BUTTON_IMAGELIST = record
himl: THandle;
margin: TRect;
uAlign: UINT;
end;
function SendSetImageListMessage(
Wnd: THandle; Msg: Cardinal; WParam: Cardinal; var LParam: BUTTON_IMAGELIST): Cardinal;
external '[email protected] stdcall';
function InitializeSetup(): Boolean;
var
ImageList: THandle;
Image: THandle;
ButtonImageList: BUTTON_IMAGELIST;
begin
ImageList := ImageList_Create(16, 16, ILC_COLOR32, 1, 1);
Image := LoadImage(0, 'button.bmp', IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
ImageList_Add(ImageList, Image, 0);
ButtonImageList.himl := ImageList;
SendSetImageListMessage(
WizardForm.NextButton.Handle, BCM_SETIMAGELIST, 0, ButtonImageList);
end;
![enter image description here](https://i.stack.imgur.com/IJdlF.png)
Я думал, что это будет задачей и объемная. Есть ли битбит-контроль, чтобы использовать внутри inno? – Drakul
Нет, есть только «TBitmapImage», как я уже показал. Проверьте себя, в документации Inno Setup. –
Да! Я думаю, что это путь ... Отлично! Спасибо за подсказку ... Был немного потерян там ... – Drakul