Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Изменить текст кнопки MSGBOX'a

Ответить
Настройки темы
Изменить текст кнопки MSGBOX'a

Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Изменения
Автор: sashadeg
Дата: 19-11-2009
Здраствуйте. Нужно изменить текст кнопки Отмена в msgbox'e который вылазит после подключения с интернетом.

8 и 21 строка кода - это тот самый msgbox
Вот код программы:
Код: Выделить весь код
Opt("TrayAutoPause", 0)
TrayTip("The Internet is Сonnected? v.1.3.beta", "Подождите...", 5, 1)
$var = Ping("www.google.com")

;------------------------------------------------------------------------------------------

If $var<> 0 Then
    MsgBox(65, "The Internet is Сonnected?", "Все в порядке, Интрернет работает :)"& @CRLF &"Время подключения:  " & @hour &":"& @min &":"&@sec)
    Exit
Else
    $1=_MsgBoxTimer(36, 'The Internet is Сonnected? v.1.3.beta',"К сожалению, сейчас Интернет не подключен :(" & @CRLF & "Сообщить, если Интернет будет работать?", 5)
EndIf

;------------------------------------------------------------------------------------------

If $1 <> 7 Then
    TrayTip("The Internet is Сonnected? v.1.3.beta","Программа ожидает подключения сети Интернет...", 7, 1)
    While 1
        $var = Ping("www.google.com")
            If $var <> 0 Then
                MsgBox(65, "The Internet is Сonnected? v.1.3.beta", "Все в порядке, Интрернет работает :)"& @CRLF &"Время подключения:  " & @hour &":"& @min &":"&@sec)
            Exit
            EndIf
    sleep(500)
    WEnd
Else
    TrayTip("The Internet is Сonnected? v.1.3.beta","Bye-bye!!!", 3, 1)
    Sleep(3000)
EndIf

Func _MsgBoxTimer($iFlag, $sTitle, $sText, $iMBTimeOut = 0, $hWnd = 0)
    Local $hFile, $sMBLine, $sSet_Text, $iRet
    $sMBLine = '#NoTrayIcon' & @CRLF
    $sMBLine &= '$h_Title = WinGetHandle("' & $sTitle & '")' & @CRLF
    $sMBLine &= 'Opt("WinWaitDelay", 1)' & @CRLF
    $sMBLine &= 'While Not WinExists($h_Title)' & @CRLF
    $sMBLine &= '    Sleep(10)' & @CRLF
    $sMBLine &= 'WEnd' & @CRLF

    If $iMBTimeOut > 0 Then
        $sMBLine &= _
                '$sButtonText = ControlGetText($h_Title, "", "Button1")' & @CRLF & _
                'ControlSetText($h_Title, "", "Button1", $sButtonText & " (' & $iMBTimeOut & ')")' & @CRLF & _
                '$TimerInit = TimerInit()' & @CRLF & _
                '$iTime = ' & $iMBTimeOut & @CRLF & _
                'While $iTime > 0' & @CRLF & _
                '   If Not WinExists($h_Title) Then ExitLoop' & @CRLF & _
                '   $sButtonText = StringRegExpReplace(ControlGetText($h_Title, "", "Button1"), " \(\d+\)$", "")' & @CRLF & _
                '   ControlSetText($h_Title, "", "Button1", $sButtonText & " (" & $iTime & ")")' & @CRLF & _
                '   If Not WinExists($h_Title) Then ExitLoop' & @CRLF & _
                '   Sleep(1000)' & @CRLF & _
                '   If Not WinExists($h_Title) Then ExitLoop' & @CRLF & _
                '   $iTime -= 1' & @CRLF & _
                'WEnd'
    EndIf
    $hFile = FileOpen(@TempDir & '\MiscMMB.tmp', 2)
    FileWrite($hFile, $sMBLine)
    FileClose($hFile)

    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & '\MiscMMB.tmp"')
    $iRet = MsgBox($iFlag, $sTitle, StringFormat($sText, $iMBTimeOut), $iMBTimeOut)

    While FileExists(@TempDir & '\MiscMMB.tmp')
        FileDelete(@TempDir & '\MiscMMB.tmp')
    WEnd

    Return $iRet
EndFunc   ;==>_MsgBoxTimer

-------
Ну вы ребята даёте...


Отправлено: 09:06, 19-11-2009

 

Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата beve:
Значит не так вставляеш. »
Я вставляю перед строчкой
Код: Выделить весь код
MsgBox(65, "The Internet is Сonnected?", "Все в порядке, Интрернет работает :)"& @CRLF &"Время подключения:  " & @hour &":"& @min &":"&@sec)

-------
Ну вы ребята даёте...


Отправлено: 19:38, 19-11-2009 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


beve, что я не правельно делаю???

-------
Ну вы ребята даёте...


Отправлено: 12:53, 20-11-2009 | #12


Аватара для beve

Старожил


Сообщения: 307
Благодарности: 137

Профиль | Отправить PM | Цитировать


Цитата:
что я не правельно делаю?
Проверь:
читать дальше »
Код: Выделить весь код
Opt("TrayAutoPause", 0)
TrayTip("The Internet is Сonnected? v.1.3.beta", "Подождите...", 5, 1)
$var = Ping("www.google.com")

;------------------------------------------------------------------------------------------

If $var<> 0 Then
 _MsgBoxSetButtonText("The Internet is Сonnected?")
    MsgBox(65, "The Internet is Сonnected?", "Все в порядке, Интрернет работает :)"& @CRLF &"Время подключения:  " & @hour &":"& @min &":"&@sec)
    Exit
Else
    $1=_MsgBoxTimer(36, 'The Internet is Сonnected? v.1.3.beta',"К сожалению, сейчас Интернет не подключен :(" & @CRLF & "Сообщить, если Интернет будет работать?", 5)
EndIf

;------------------------------------------------------------------------------------------

If $1 <> 7 Then
    TrayTip("The Internet is Сonnected? v.1.3.beta","Программа ожидает подключения сети Интернет...", 7, 1)
    While 1
        $var = Ping("www.google.com")
            If $var <> 0 Then
             _MsgBoxSetButtonText("The Internet is Сonnected? v.1.3.beta")
                MsgBox(65, "The Internet is Сonnected? v.1.3.beta", "Все в порядке, Интрернет работает :)"& @CRLF &"Время подключения:  " & @hour &":"& @min &":"&@sec)
            Exit
            EndIf
    sleep(500)
    WEnd
Else
    TrayTip("The Internet is Сonnected? v.1.3.beta","Bye-bye!!!", 3, 1)
    Sleep(3000)
EndIf

Func _MsgBoxTimer($iFlag, $sTitle, $sText, $iMBTimeOut = 0, $hWnd = 0)
    Local $hFile, $sMBLine, $sSet_Text, $iRet
    $sMBLine = '#NoTrayIcon' & @CRLF
    $sMBLine &= '$h_Title = WinGetHandle("' & $sTitle & '")' & @CRLF
    $sMBLine &= 'Opt("WinWaitDelay", 1)' & @CRLF
    $sMBLine &= 'While Not WinExists($h_Title)' & @CRLF
    $sMBLine &= '    Sleep(10)' & @CRLF
    $sMBLine &= 'WEnd' & @CRLF

    If $iMBTimeOut > 0 Then
        $sMBLine &= _
                '$sButtonText = ControlGetText($h_Title, "", "Button1")' & @CRLF & _
                'ControlSetText($h_Title, "", "Button1", $sButtonText & " (' & $iMBTimeOut & ')")' & @CRLF & _
                '$TimerInit = TimerInit()' & @CRLF & _
                '$iTime = ' & $iMBTimeOut & @CRLF & _
                'While $iTime > 0' & @CRLF & _
                '   If Not WinExists($h_Title) Then ExitLoop' & @CRLF & _
                '   $sButtonText = StringRegExpReplace(ControlGetText($h_Title, "", "Button1"), " \(\d+\)$", "")' & @CRLF & _
                '   ControlSetText($h_Title, "", "Button1", $sButtonText & " (" & $iTime & ")")' & @CRLF & _
                '   If Not WinExists($h_Title) Then ExitLoop' & @CRLF & _
                '   Sleep(1000)' & @CRLF & _
                '   If Not WinExists($h_Title) Then ExitLoop' & @CRLF & _
                '   $iTime -= 1' & @CRLF & _
                'WEnd'
    EndIf
    $hFile = FileOpen(@TempDir & '\MiscMMB.tmp', 2)
    FileWrite($hFile, $sMBLine)
    FileClose($hFile)

    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & '\MiscMMB.tmp"')
    $iRet = MsgBox($iFlag, $sTitle, StringFormat($sText, $iMBTimeOut), $iMBTimeOut)

    While FileExists(@TempDir & '\MiscMMB.tmp')
        FileDelete(@TempDir & '\MiscMMB.tmp')
    WEnd

    Return $iRet
   EndFunc   ;==>_MsgBoxTimer
   
   
   
   
   Func _MsgBoxSetButtonText($sTitleOfMsgbox)
   Local  $sMBLineTmp, $hFileTmp,$NewNameOfButton="Закрыть"
    $sMBLineTmp = '#NoTrayIcon' & @CRLF
    $sMBLineTmp &= '$h_Title = WinGetHandle("' & $sTitleOfMsgbox & '")' & @CRLF
    $sMBLineTmp &= 'Opt("WinWaitDelay", 1)' & @CRLF
    $sMBLineTmp &= 'While Not WinExists($h_Title)' & @CRLF
    $sMBLineTmp &= '    Sleep(10)' & @CRLF
    $sMBLineTmp &= 'WEnd' & @CRLF

     $sMBLineTmp &= _
                '$sButtonText = ControlGetText($h_Title, "", "Button2")' & @CRLF & _
                'ControlSetText($h_Title, "", "Button2", "'&$NewNameOfButton & '")' & @CRLF & _
                'Exit'
    $hFileTmp = FileOpen(@TempDir & '\Tmp.tmp', 2)
    FileWrite($hFileTmp, $sMBLineTmp)
    FileClose($hFileTmp)
    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & '\Tmp.tmp"')
EndFunc   ;==>_MsgBoxSetButtonText

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:04, 20-11-2009 | #13


Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата beve:
после появления твоего окна, текст на кнопке Отмена изменяется через несколько милисикунд, и это заметно. »
Странно... у меня совсем ничего не заметно... или у меня комп шустрый... Ну всё равно спасибо огромное!

-------
Ну вы ребята даёте...


Отправлено: 18:00, 20-11-2009 | #14



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Изменить текст кнопки MSGBOX'a

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - Как изменить текст в окне ОТПРАВИТЬ ОТЧЁТ МАЙКРОСОФТ? Klam Хочу все знать 17 11-11-2009 06:21
[решено] Как изменить текст лицензионного согладения? conteacky Автоматическая установка Windows 2000/XP/2003 1 28-05-2009 10:26
[решено] MsgBox. Как расположить текст в столбик? Firebolt AutoIt 5 26-05-2009 23:35
Изменить Цвет Кнопки Пуск Minton Автоматическая установка Windows 2000/XP/2003 11 24-05-2008 13:17
Как изменить курсор(скрол) средней кнопки мыши? FADE Вебмастеру 6 06-07-2004 12:41




 
Переход