【问题标题】:Alter the z-index of windows on a NSIS MUI2 Page更改 NSIS MUI2 页面上窗口的 z-index
【发布时间】:2012-05-18 00:59:39
【问题描述】:

是否可以在 NSIS MUI2 页面上设置标题位图窗口的 z-index?

我正在尝试让一个包含大位图的窗口位于 MUI2 页面 MUI_PAGE_WELCOME 和 MUI_PAGE_COMPONENTS 上的其他窗口(标签、复选框等)之后。

我已经看到我可以使用 SetWindowPos,但是如何访问/查找与标题位图关联的 HWND?

还有没有办法将静态、标签和复选框背景设置为透明?也许我可以使用 Win32 标志,还是应该使用透明位图?

【问题讨论】:

    标签: installation nsis modern-ui


    【解决方案1】:

    这两种选择都可以。

    要访问定义为 MUI_HEADERIMAGE_BITMAP 的位图,请使用它的 ID,即 1046 (要查看这些 ID,请使用 ResHacker 在 NSIS\Contrib\UIs\ 文件夹中打开适当的 .exe 文件)

    然后使用 GetDlgItem OutputVar $HWNDPARENT 1046 来处理它。 在 NSIS 中,所有 WinAPI 函数都运行良好。

    1) 创建整个背景非常棘手 - 它需要大量编码。 安装程序的窗口由外部和内部对话框组成,因此您需要添加两个位图(每个对话框一个) 由于这是很多代码,我可以向您推荐这个解决方案:Graphical Installer for NSIS 用于创建看起来很酷的安装程序。

    2):使用 SetCtlColors ControlHwnd TextColor 透明 这适用于大多数控件,但在 WinXP 上存在一些问题。 另一种方法是对每个控件进行子类化并覆盖它的 WM_PAINT 消息(编写简单的 C 插件)。

    【讨论】:

      猜你喜欢
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-17
      相关资源
      最近更新 更多