NSIS图形界面(使用nsiskin插件)进阶教程

免费制作基于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,按钮按下回掉函数,当按钮被按下,通过此回调函数通知脚本

有了以上知识作基础,我们来看一下欢迎页面的关键代码

Function WelcomePage
    nsDialogs::Create 1044
    Pop $Dialog
    ${If} $Dialog == error
        Abort
    ${EndIf}
    SetCtlColors $Dialog ""  transparent ;背景设成透明
    ${SetWindowSize} $HWNDPARENT 513 354 ;改变窗体大小
    ${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
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值