2016-02-01 11 views
1

Возможно ли иметь кнопку изображения на странице Inno Wizard вместо обычного текста подписи?Как создать кнопку изображения в Inno Setup?

Что бы я хотел сделать, это создать кнопку «Выкл./Вкл.» Для отключения/воспроизведения музыки во время работы Inno.

Спасибо!

ответ

0

Прямая поддержка установки изображений для кнопок в 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

+0

Я думал, что это будет задачей и объемная. Есть ли битбит-контроль, чтобы использовать внутри inno? – Drakul

+0

Нет, есть только «TBitmapImage», как я уже показал. Проверьте себя, в документации Inno Setup. –

+0

Да! Я думаю, что это путь ... Отлично! Спасибо за подсказку ... Был немного потерян там ... – Drakul

 Смежные вопросы

  • Нет связанных вопросов^_^