0

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

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

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

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

4

1 回答 1

1

这两种选择都是可能的。

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

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

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

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

于 2012-05-18T05:15:00.497 回答