Что нового

Динамическая информация в меню

VladislavM

Новичок
Сообщения
12
Репутация
0
Есть у меня простое меню. Хотелось бы сделать там динамический вывод того что сейчас отрабатывает. Подскажите пожалуйста как это сделать. Поиск по форум не дал результатов, в документации ничего не нашел...
Код:
Local $Button1, $Button2, $msg, $Gui
$Gui=GUICreate("Программа")

Opt("GUICoordMode", 2)
$Button1 = GUICtrlCreateButton("Меню1", 10, 20, 270)
$Button2 = GUICtrlCreateButton("Меню2", -1, 0)
$Button3 = GUICtrlCreateButton("Выход", -1, 1)
[B]$Element = Хочу меняющийся текст...[/B]

GUISetState()

Func Terminate()
   While True
      Sleep(500)
      [B]отправитьВМенюТекст("Вызвана функция  Terminate")[/B]
      main()
   WEnd
EndFunc
 
Последнее редактирование:

InnI

AutoIT Гуру
Сообщения
4,557
Репутация
1,258
А где меню? У вас просто текст на кнопках. Если нужно поменять текст кнопки, то так
Код:
$Element = "Новый текст"
GUICtrlSetData($Button1, $Element)
 
Автор
V

VladislavM

Новичок
Сообщения
12
Репутация
0
А где меню? У вас просто текст на кнопках. Если нужно поменять текст кнопки, то так
Код:
$Element = "Новый текст"
GUICtrlSetData($Button1, $Element)
В программе выглядит как меню..) Нужно передавать текст в окно программы, прям под меню. Хочу отправлять в основное окно название функции которая сейчас отрабатывает.
 

InnI

AutoIT Гуру
Сообщения
4,557
Репутация
1,258
Хочу отправлять в основное окно название функции которая сейчас отрабатывает.
Это два разных скрипта или один? Сделайте простейший рабочий пример и опишите комментариями что и куда вы хотите отправить.
 
Автор
V

VladislavM

Новичок
Сообщения
12
Репутация
0
Это два разных скрипта или один? Сделайте простейший рабочий пример и опишите комментариями что и куда вы хотите отправить.
Код:
#include <MsgBoxConstants.au3>
#include <GUIConstantsEx.au3>
HotKeySet("{ESC}", "ExitPro")
HotKeySet("{F1}", "Terminate")
HotKeySet("{F2}", "Terminate")
HotKeySet("{F3}", "ExitPro")
HotKeySet("{F4}", "ExitPro")
HotKeySet("{F5}", "SleepPro")

Local $Button1, $Button2, $msg, $Gui
$Gui=GUICreate("Test")

Opt("GUICoordMode", 2)
$Button1 = GUICtrlCreateButton("В разработке!", 10, 20, 270)
$Button2 = GUICtrlCreateButton("В разработке!", -1, 0)
$Button3 = GUICtrlCreateButton("В разработке!", -1, 1)
$Button4 = GUICtrlCreateButton("В разработке!", -1, 1)
$Button5 = GUICtrlCreateButton("В разработке!.", -1, 1)
$Button6 = GUICtrlCreateButton("Выход из программы ESC", -1, 1)
;;;;;;;;;;;;;;;;;; Тут информация которая меняется .
GUISetState()

While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            ExitLoop
            Case $Button1
               Terminate()
            Case $Button2
               ExitPro()
            Case $Button3
               ExitPro()
            Case $Button4
               ExitPro()
            Case $Button5
               SleepPro()
            Case $Button6
               ExitPro()

    EndSwitch
WEnd



Func Terminate()
   MsgBox(64, "Приостановленно", "Программа приостоновлена на 40 секунд.")
   Sleep(50000)
   ;;;;;;;;;;;;;;;;;;;;;;;Тут мы бы хотеле передать информацию в уже готовое окно. (Там где кнопки)
   MsgBox(64, "Передать в окно чтото");
EndFunc

Func SleepPro()
   MsgBox(64, "Приостановленно", "Программа приостоновлена на 40 секунд.")
   ;;;;;;;;;;;;;;;;;;;;;;;Тут мы бы хотеле передать информацию в уже готовое окно.  Программа остановлена на 40секунд. (Там где кнопки)
   Sleep(50000)
EndFunc

Func ExitPro()
   MsgBox(64, "Программа выключена", "Успешно выполнено")
Exit 0
EndFunc
Вот код целиком. Комментариями я подчеркнул логику того что должно происходить. Когда я создаю label у меня там всё разваливается. Нужно обычный текст сразу под кнопками.
 
Последнее редактирование:

InnI

AutoIT Гуру
Сообщения
4,557
Репутация
1,258
Пробуйте
Код:
#include <MsgBoxConstants.au3>
#include <GUIConstantsEx.au3>

HotKeySet("{ESC}", "ExitPro")
HotKeySet("{F1}", "Terminate")
HotKeySet("{F2}", "Terminate")
HotKeySet("{F3}", "ExitPro")
HotKeySet("{F4}", "ExitPro")
HotKeySet("{F5}", "SleepPro")

$Gui = GUICreate("Test")

Opt("GUICoordMode", 2)
$Button1 = GUICtrlCreateButton("В разработке!", 10, 20, 270)
$Button2 = GUICtrlCreateButton("В разработке!", -1, 0)
$Button3 = GUICtrlCreateButton("В разработке!", -1, 1)
$Button4 = GUICtrlCreateButton("В разработке!", -1, 1)
$Button5 = GUICtrlCreateButton("В разработке!.", -1, 1)
$Button6 = GUICtrlCreateButton("Выход из программы ESC", -1, 1)
;;;;;;;;;;;;;;;;;; Тут информация которая меняется .
$Label   = GUICtrlCreateLabel("", -1, 1)
GUISetState()

While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            ExitLoop
            Case $Button1
               Terminate()
            Case $Button2
               ExitPro()
            Case $Button3
               ExitPro()
            Case $Button4
               ExitPro()
            Case $Button5
               SleepPro()
            Case $Button6
               ExitPro()
    EndSwitch
WEnd

Func Terminate()
;~    MsgBox(64, "Приостановленно", "Программа приостоновлена на 40 секунд.")
;~    Sleep(50000)
   ;;;;;;;;;;;;;;;;;;;;;;;Тут мы бы хотеле передать информацию в уже готовое окно. (Там где кнопки)
   GUICtrlSetData($Label, "Передать в окно чтото")
;~    MsgBox(64, "", "Передать в окно чтото");
EndFunc

Func SleepPro()
;~    MsgBox(64, "Приостановленно", "Программа приостоновлена на 40 секунд.")
   ;;;;;;;;;;;;;;;;;;;;;;;Тут мы бы хотеле передать информацию в уже готовое окно.  Программа остановлена на 40секунд. (Там где кнопки)
   GUICtrlSetData($Label, "Программа приостоновлена на 40 секунд.")
;~    Sleep(50000)
EndFunc

Func ExitPro()
;~    MsgBox(64, "Программа выключена", "Успешно выполнено")
   GUICtrlSetData($Label, "Успешно выполнено")
   Sleep(1111)
Exit 0
EndFunc
 
Верх