Aardio-Extiende la biblioteca win.dlg.message, crea tu propio cuadro de entrada hermoso

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)

 

Supongo que te gusta

Origin blog.csdn.net/sdlgq/article/details/112007529
Recomendado
Clasificación