NSIS控件之输入框

普通输入框

1.定义一个变量来存储输入框的句柄,比如:

Var m_ledPath ;这里的名字自己定义

2.创建一个输入框并把句柄存储到m_ledPath 变量里,比如:

;创建输入框控件,参数分别为: x坐标 y坐标 宽度 高度 默认显示文本 
${NSD_CreateText} 62 306 380 38 "This is display text"  
;把创建好的输入框控件的句柄传入变量m_ledPath
Pop $m_ledPath 
;设置输入框的颜色,参数分别为:目标控件句柄 前景色 背景色                   
SetCtlColors $m_ledPath ""  FFFFFF ;背景设成全白
;设置输入框的样式,参数分别为:目标控件句柄 样式
${NSD_AddExStyle} $m_ledPath ${WS_EX_WINDOWEDGE}
;创建字体参数为:字体句柄 字体类型 字体大小
CreateFont $1 "tahoma" "14"
;设置输入框的字体
SendMessage $m_ledPath ${WM_SETFONT} $1 1

缺点:样式不易定制,如边框的形状,字体居中问题等。
效果如下:
这里写图片描述

圆角矩形输入框

实现:用一个背景图片和一个透明、无边框的输入框组合而成
1.定义三个变量分别存储输入框句柄、背景图片句柄和背景图片显示控件的句柄,比如:

Var m_ledPath ;这里的名字自己定义
Var m_imgBorder ;这里的名字自己定义
Var m_imgBorderHandel ;这里的名字自己定义

2.导入图片并创建图片显示控件,比如:

File "/oname=$PLUGINSDIR\border.bmp" "image\en\border.bmp" ;导入图片,这个图片要存在本地,并且路径准确
;创建图片显示控件,参数分别为: x坐标 y坐标 宽度 高度 默认显示文本 
${NSD_CreateBitmap} 62 306 380 38 ""
;把创建好的图片显示控件的句柄传入变量m_imgBorder
Pop $m_imgBorder
;设置图片,参数分别为:目标控件句柄 图片 图片句柄 
${NSD_SetImage} $m_imgBorder "$PLUGINSDIR\border.bmp" $m_imgBorderHandel

3.创建一个透明无边框的输入框并把句柄存储到m_ledPath 变量里,比如:

;创建输入框控件,参数分别为: 样式 控件标志 x坐标 y坐标 宽度 高度 默认显示文本 
nsDialogs::CreateControl EDIT \
"${__NSD_Text_STYLE}|${ES_WANTRETURN}" "${}" 65 313 370 28 "${INSTALL_PATH}"
;把创建好的输入框控件的句柄传入变量m_ledPath
Pop $m_ledPath
;创建字体参数为:字体句柄 字体类型 字体大小
CreateFont $1 "tahoma" "14"
;设置输入框的字体
SendMessage $m_ledPath ${WM_SETFONT} $1 1

效果如下:
这里写图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值