此插件基于官方的 nsDialogs 修改而成,你可以利用此插件在 NSIS 中自由创建各种类型的子窗口,以及在子窗口中创建 nsDialogs 支持的所有控件类型,而不用再局限于只有单一的 NSIS 主窗口。配合使用头文件 nsWindows.nsh,支持同时创建多个独立的子窗口。
因为窗口风格之类的参数都是开放的,所以你可以建立自己想要的窗口样式;同时它又是脚本控制的,因而各种参数都可以在主窗口与子窗口中互相传递。对于制作一些小工具来说,它可以大大地扩展程序界面,实现更多的设置选项,以及将各种控件分别布置于不同的子窗口之中,脱离传统的“上/下一步”向导模式。当然这些都需要一定的编程基础,理解窗口的各种机制。
需要使用头文件 nsWindows.nsh,其用法基本与 nsDialogs 一致,一般宏名称中的 NSD 替换为 NSW (如 ${NSD_Create} -> ${NSW_Create})就可以支持,具体可以参考例子。
注意:
插件必须放在 NSIS 安装目录的 Plugins 文件夹中!
建议使用 2.42 或者更高版本的NSIS,旧版可能不兼容!
【更新】
2009/03/07: 减少大部分情况下的临时插件重复生成。
2009/03/09: 插件代码完善,头文件优化完善。
2009/03/22: 支持多个文件拖入,统一控件id与nsDialogs一致(1200 开始)。
2009/04/17: 增加 Unicode 版本,头文件改进。
效果可以看 Demo 中的幻想影音设置程序
简单的演示例子:
http://www.uushare.com/user/zhfi1022/files/1435073
插件与头文件:
http://www.uushare.com/user/zhfi1022/files/1435014
【致谢】
感谢 X-Star 的测试与支持以及更改说明文件等等