如何在Inno Setup中创建图像按钮?

德古拉

在“ Inno向导”页面中可以有一个图像按钮,而不是纯标题文字吗?

我要完成的工作是创建一个“开/关”图像按钮,以在运行Inno设置时静音/播放音乐。

谢谢!

马丁·普里克里(Martin Prikryl)

在Inno Setup中不直接支持为按钮设置图像。

因此,您必须恢复为Win32 API。

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;

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在inno setup中进行mysql的静默安装?

来自分类Dev

如何在Inno Setup中使用Pascal变量?

来自分类Dev

如何在inno setup中的wpInstalling页面中显示多个图像

来自分类Dev

如何在Inno Setup中捕获OleObject异常?

来自分类Dev

如何在Inno Setup中使用特殊字符?

来自分类Dev

如何在Inno Setup中翻译MsgBox中包含的文本?

来自分类Dev

如何在Inno Setup中注释语句块?

来自分类Dev

如何在Inno Setup中分割字符串

来自分类Dev

如何在Inno Setup的“浏览文件夹”对话框中禁用“确定”按钮

来自分类Dev

Inno Setup:如何在InitializeWizard中使用{app}?

来自分类Dev

如何在Inno Setup中最小化安装程序?

来自分类Dev

Inno Setup:如何在“运行”部分操作进度栏?

来自分类Dev

如何在Inno Setup中解析JSON字符串?

来自分类Dev

Inno Setup:如何在“注册”部分操作进度栏?

来自分类Dev

如何在Inno Setup中创建两个LicenseFile页面

来自分类Dev

Inno Setup如何在浏览对话框上显示网络?

来自分类Dev

如何在Inno Setup中的安装后强制重启

来自分类Dev

在Inno Setup中,如何在向导窗口的左下方添加图像横幅?

来自分类Dev

如何在Inno Setup中将LanguageID写入注册表?

来自分类Dev

如何在Inno Setup的[CustomMessages]部分中使用通配符?

来自分类Dev

如何在Inno Setup中使用PrepareToTinstall函数的NeedsRestart参数?

来自分类Dev

如何在MVC 4中创建图像按钮

来自分类Dev

如何在inno setup中进行mysql的静默安装?

来自分类Dev

如何在Inno Setup中翻译MsgBox中包含的文本?

来自分类Dev

Inno Setup:如何使用单选按钮和表单创建页面

来自分类Dev

如何在Inno Setup中延迟而不冻结

来自分类Dev

Inno Setup - 如何在自定义卸载页面中创建新的卸载页面?

来自分类Dev

如何在 Inno Setup iss 文件中调用 GetNativeSystemInfo?

来自分类Dev

Inno setup - 如何在设置悬停中更改版本?

Related 相关文章

  1. 1

    如何在inno setup中进行mysql的静默安装?

  2. 2

    如何在Inno Setup中使用Pascal变量?

  3. 3

    如何在inno setup中的wpInstalling页面中显示多个图像

  4. 4

    如何在Inno Setup中捕获OleObject异常?

  5. 5

    如何在Inno Setup中使用特殊字符?

  6. 6

    如何在Inno Setup中翻译MsgBox中包含的文本?

  7. 7

    如何在Inno Setup中注释语句块?

  8. 8

    如何在Inno Setup中分割字符串

  9. 9

    如何在Inno Setup的“浏览文件夹”对话框中禁用“确定”按钮

  10. 10

    Inno Setup:如何在InitializeWizard中使用{app}?

  11. 11

    如何在Inno Setup中最小化安装程序?

  12. 12

    Inno Setup:如何在“运行”部分操作进度栏?

  13. 13

    如何在Inno Setup中解析JSON字符串?

  14. 14

    Inno Setup:如何在“注册”部分操作进度栏?

  15. 15

    如何在Inno Setup中创建两个LicenseFile页面

  16. 16

    Inno Setup如何在浏览对话框上显示网络?

  17. 17

    如何在Inno Setup中的安装后强制重启

  18. 18

    在Inno Setup中,如何在向导窗口的左下方添加图像横幅?

  19. 19

    如何在Inno Setup中将LanguageID写入注册表?

  20. 20

    如何在Inno Setup的[CustomMessages]部分中使用通配符?

  21. 21

    如何在Inno Setup中使用PrepareToTinstall函数的NeedsRestart参数?

  22. 22

    如何在MVC 4中创建图像按钮

  23. 23

    如何在inno setup中进行mysql的静默安装?

  24. 24

    如何在Inno Setup中翻译MsgBox中包含的文本?

  25. 25

    Inno Setup:如何使用单选按钮和表单创建页面

  26. 26

    如何在Inno Setup中延迟而不冻结

  27. 27

    Inno Setup - 如何在自定义卸载页面中创建新的卸载页面?

  28. 28

    如何在 Inno Setup iss 文件中调用 GetNativeSystemInfo?

  29. 29

    Inno setup - 如何在设置悬停中更改版本?

热门标签

归档