普通输入框
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
效果如下: