免费制作基于nsiskin的安装包,加qq群:37586365
写在系列教程的最开头,感谢烂菜大牛,他写了个系列教程(NSIS进阶教程)是本系列教程的基础
本系列教程和烂菜大牛的系列教程异同如下:
1.本教程使用的图片资源来源于烂菜大牛的教程
2.插件使用,本系列教程只使用nsiskin一个插件,而烂菜大牛使用了nswindows,wndproc,skinbtn,skinprogress等插件
3.复选框(checkbox),本教程直接实现复选框,烂菜大牛的教程用的是skinbtn+label来模拟复选框
烂菜大牛的教程写的真的很好,推荐大家看本教程之前先百度搜索看一下烂菜大牛的教程,相比之下,我还是新手,如有错误,大家多批评指正
在开始之前,我们来看一下nsiskin插件能做出什么样的效果
好了,参照烂菜大牛教程的形式,我们开始吧
教程第一步,我们来看看如何实现无边框窗口及移动,并贴上一张背景图
再使用nsiskin插件之前,首先要初始化插件,代码如下
GetFunctionAddress $R0 onImageCallback
GetFunctionAddress $R1 onButtonClick
nsiskin::Init /NOUNLOAD $R0 $R1 34
onImageCallback,图片回调函数,返回绘图所需要的图片
返回的图片由如下代码创建
nsiskin::LoadImg /NOUNLOAD "$PLUGINSDIR\bg.bmp"
Pop $BGImage
onButtonClick,按钮按下回掉函数,当按钮被按下,通过此回调函数通知脚本
有了以上知识作基础,我们来看一下欢迎页面的关键代码
nsDialogs::Create 1044
Pop $Dialog
${If} $Dialog == error
Abort
${EndIf}
SetCtlColors $Dialog "" transparent ;背景设成透明
${SetWindowSize} $Dialog 513 354 ;改变Page大小
${NSD_CreateBitmap} 0 34 100% 100% ""
Pop $0
${NSD_SetImage} $0 $PLUGINSDIR\middle.bmp $1
nsiskin::Attach /NOUNLOAD $Dialog
nsDialogs::Show
${NSD_F