#include-once
Dim $aTransIn[1][3] = [["Ctrl_Input","Ctrl_Lable","Text"]]
$DUMMY = GUICreate("DUMMY")
AdlibRegister("_TransInput_Update",50)
$dll = DllOpen("user32.dll")

Func _TransInput_Create(ByRef $ctrlID,$ifSize=8.5)
	;SEuBo
	$hParent_Wnd = DllCall($dll,"hwnd","GetParent","hwnd", GUICtrlGetHandle($ctrlID))
	$hParent_Wnd = $hParent_Wnd[0]
	$cOldText = ControlGetText($hParent_Wnd,"",$ctrlID)
	$cPos = ControlGetPos($hParent_Wnd,"",$ctrlID)
	If Not @error Then
		$oldGUI = GUISwitch($DUMMY)
		GUISwitch($oldGUI)
		$nCtrlID = GUICtrlCreateLabel($cOldText,$cPos[0],$cPos[1],$cPos[2],$cPos[3])
		GUICtrlSetBkColor(-1,-2)
		GUICtrlSetFont(-1,$ifSize)
		$hwnd_gui = GUICreate("",$cPos[2],$cPos[3],$cPos[0],$cPos[1],0x80000000,BitOR(0x00000040,0x00000008),$hParent_Wnd)
		GUICtrlDelete($ctrlID)
		$ctrlID = GUICtrlCreateInput($cOldText,0,0,$cPos[2],$cPos[3])
		GUICtrlSetState(-1,2048)
		GUICtrlSetFont(-1,$ifSize)
		WinSetTrans($hwnd_gui,"",1)
		GUISetState(@SW_SHOW,$hwnd_gui)
		ReDim $aTransIn[UBound($aTransIn)+1][3]
		$aTransIn[UBound($aTransIn)-1][0] = $nCtrlID
		$aTransIn[UBound($aTransIn)-1][1] = $ctrlID
		$aTransIn[UBound($aTransIn)-1][2] = $cOldText
		GUISwitch($oldGUI)
		Return $nCtrlID
	EndIf
EndFunc
Func _TransInput_Update()
	For $i = 1 to UBound($aTransIn)-1
		If $aTransIn[$i][2] <> GUICtrlRead($aTransIn[$i][1]) Then
			$aTransIn[$i][2] = GUICtrlRead($aTransIn[$i][1])
			GUICtrlSetData($aTransIn[$i][0],$aTransIn[$i][2])
		EndIf
	Next
EndFunc
