Цитата beve:
Такое пока невозможно проделать в InputBox »
|
Если использовать
API хук то возможно. Также касается и MsgBox, и FileOpenDialog и т.п. функции.
Кроме прочего, можно вызвать внешний скрипт для смены надписей:
Код:
_InputBox("My InputBox", "Type sonething...", "Введите что-то", "", "Хорошо", "Не хочу")
Func _InputBox($sTitle,$sPrmpt,$sDeff="",$sPssChr="",$sOkButtTxt="",$sCnclButtTxt="",$iW=-1,$iH=-1,$iL=-1,$iT=-1,$iTO=-1,$hWnd=0)
Local $sScript_Data = "", $sTmp_IB_ScriptFile = @TempDir & "\~Tmp_IB_Script.tmp"
If $sOkButtTxt <> "" Or $sCnclButtTxt <> "" Then
$sScript_Data &= 'Opt("WinWaitDelay", 0)' & @CRLF
$sScript_Data &= 'WinWait("' & $sTitle & '")' & @CRLF
If $sOkButtTxt <> "" Then $sScript_Data &= 'ControlSetText("' & $sTitle & '", "", "Button1", "' & $sOkButtTxt & '")' & @CRLF
If $sCnclButtTxt <> "" Then $sScript_Data &= 'ControlSetText("' & $sTitle & '", "", "Button2", "' & $sCnclButtTxt & '")'
FileWrite($sTmp_IB_ScriptFile, $sScript_Data)
Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $sTmp_IB_ScriptFile & '"')
EndIf
Local $sRet = InputBox($sTitle, $sPrmpt, $sDeff, $sPssChr, $iW, $iH, $iL, $iT, $iT, $hWnd)
Local $iError = @error
FileDelete($sTmp_IB_ScriptFile)
Return SetError($iError, 0, $sRet)
EndFunc