Efecto de interfaz:
Código de paquete simple (sin biblioteca):
msgInput = function(parent,msg,isPassword=false){
import win.dlg.message
if (!#msg) msg = "请输入:"
var inputdlg = win.dlg.message(parent ) . create(msg,true);
var icontext,password
if (isPassword){
icontext='\uF023'
password=1
}else{
icontext='\uF040'
password=0
}
inputdlg.add(
plus={cls="plus";align="left";bgcolor=13816530;forecolor=13816530;editable=1;font=LOGFONT(h=-16);iconStyle={font=LOGFONT(h=-16;name='FontAwesome');padding={right=200}};iconText=icontext;paddingLeft=26;paddingTop=1;password=password;z=1}
)
inputdlg.icon.text='\uF044'
inputdlg.height=inputdlg.height+40
inputdlg.plus.top=inputdlg.btnOk.top-31
inputdlg.plus.height=26
inputdlg.plus.left=inputdlg.message.left
inputdlg.plus.width=inputdlg.btnCancel.right-inputdlg.plus.left
inputdlg.plus.iconStyle.padding.right=inputdlg.plus.width-26
inputdlg.plus.setFocus()
inputdlg.resize()
inputdlg.plus.editBox.onOk = function(){
inputdlg.endModal(inputdlg.plus.text)
}
inputdlg.onOk = function(){
inputdlg.endModal(inputdlg.plus.text)
}
inputdlg.btnOk.oncommand = function( id,event ){
inputdlg.endModal(inputdlg.plus.text)
}
return inputdlg.doModal()
}
Ejemplo de uso:
import console
t = msgInput(winform,"请输入您的账号:")
console.dump(t)
t = msgInput(winform,"请输入您的密码:",true)
console.dump(t)
Empaquetar como un archivo de biblioteca:
~ \ lib \ win \ dlg \ messageEx.aardio 或 ~ \ lib \ win.dlg.messageEx.aardio
Código de la biblioteca del paquete:
//messageEx 简单信息框扩展(输入框)
import win.dlg.message
namespace win.dlg;
class messageEx{
ctor(parent){
this = ..win.dlg.message(parent)
if(!this) return;
}
input = function(msg,isPassword=false){
if (!#msg) msg = "请输入:"
var inputdlg = this.create(msg,true);
var icontext,password
if (isPassword){
icontext='\uF023'
password=1
}else{
icontext='\uF040'
password=0
}
inputdlg.add(
plus={cls="plus";align="left";bgcolor=13816530;forecolor=13816530;editable=1;font=LOGFONT(h=-16);iconStyle={font=LOGFONT(h=-16;name='FontAwesome');padding={right=200}};iconText=icontext;paddingLeft=26;paddingTop=1;password=password;z=1}
)
inputdlg.icon.text='\uF044'
inputdlg.height=inputdlg.height+40
inputdlg.plus.top=inputdlg.btnOk.top-31
inputdlg.plus.height=26
inputdlg.plus.left=inputdlg.message.left
inputdlg.plus.width=inputdlg.btnCancel.right-inputdlg.plus.left
inputdlg.plus.iconStyle.padding.right=inputdlg.plus.width-26
inputdlg.plus.setFocus()
inputdlg.resize()
inputdlg.plus.editBox.onOk = function(){
inputdlg.endModal(inputdlg.plus.text)
}
inputdlg.onOk = function(){
inputdlg.endModal(inputdlg.plus.text)
}
inputdlg.btnOk.oncommand = function( id,event ){
inputdlg.endModal(inputdlg.plus.text)
}
return inputdlg.doModal()
}
}
import win.ui.ctrl.metaProperty
..win.ui.ctrl.metaProperty.mixin({
input = function(msg,isPassword){
return messageEx(owner).input( msg,isPassword );
}
})
/**intellisense()
win.dlg.messageEx = 简单信息框扩展,增加输入框input,可代替message使用
win.dlg.messageEx( 父窗体 ) = @.messageEx(winform)
win.dlg.messageEx() = !winDlgMessage.
!winDlgMessage.input("__",false) = 可以直接使用:winform.input()\n@1:输入框提示信息\n@2:是否密码模式
end intellisense**/
Ejemplo de llamada a la biblioteca:
import win.dlg.messageEx
//方法一,声明messageEx类型的变量:
var a = win.dlg.messageEx( winform );
a.input("这里是输入框,请输入文字:",false)
//方法二,直接使用窗口函数:
winform.input("这里是输入框,请输入文字:",false)