(使用 NSIS 3.10v、窗口 10、MUI2.nsh)
是否可以将按钮图像更改为下一个按钮的鼠标事件?
(我尝试过使用图形安装程序(1小时), 但我已经有很多(UI)像modern.exe修改为ResourceHacker进行定制,
所以,如果我使用上面的“图形安装程序”,我就无法使用“自定义“Contrib/UI”,因此使用图形安装程序存在限制。)
例如,我想做以下事情。
System::Call 'user32::LoadImage(i 0, t "button.bmp", i ${IMAGE_BITMAP}, i 0, i 0, i ${LR_CREATEDIBSECTION}|${LR_LOADFROMFILE}) i.s'
Pop $6
SendMessage $NextButton ${BM_SETIMAGE} ${IMAGE_BITMAP} $6
或所有离开页面功能(下一个事件)
我应该使用改变图像的方法吗?
上面的示例仅在您单击鼠标时进行,但如果有一种方法也可以在鼠标悬停时更改它,那就太好了。
下一个对我有用。 https://nsis.sourceforge.io/SkinnedButton_plug-in
这绝对是可能的,您需要创建新插件或修改https://nsis.sourceforge.io/SkinnedButton_plug-in。
SkinnedButton_plug-in 目前支持 3 种状态:normal、focused(当 Tab 焦点位于控件上时)和 clicked,因此要么为鼠标悬停添加第四种状态,要么更改“focused”逻辑。
StackOverflow 是基于问答的,可能没有人会为你编写整个插件,但是如果你开始编写那个插件,我会尽力帮助你,我之前为 NSIS 写过几个插件。
我还检查了图形安装程序更改日志,他们不久前实施了此更改:
因此,对您来说最快的解决方案可能是在现有设置中仅使用他们的.dll(当然,首先获得图形安装程序许可证,它是一个商业软件)。
附注我是从事图形安装程序的开发人员