Войти

Показать полную графическую версию : Вопрос по функции GUICtrlRead [AvtoIt v3]


Страниц : [1] 2

LexaSF
18-12-2010, 12:27
GUICtrlRead Какое будет возвращаться значение у $Button в этой функции при нажатии на кнопку?При отстутсвии события оно посылает просто текст на кнопке.А какое будет при нажатии на нее?

Creat0R
18-12-2010, 12:59
Предупреждение за нарушение правил форума, пункт 2.7 (http://forum.oszone.net/rules.html#2.7) и пункт 3.19 (http://forum.oszone.net/rules.html#3.19):

2.7: В заголовке темы обязательно обозначайте название предмета, которого касается вопрос, а в теле сообщения максимально подробно опишите проблему (приведите аппаратную/программную конфигурацию, а также изложите ситуацию, в которой возникает проблема)...
Подробнее о принципах создания тем читайте в этом документе (http://forum.oszone.net/faq.php?faq=vb_read_and_post#faq_thread) и Правилах форумов.

3.19: Запрещается... Создавать темы, имеющие неинформативные или состоящие из заглавных букв заголовки (например, "Помогите!", "HELP!", "У меня проблема"). Такие темы будут закрыты или перенесены в Тест-форум. Если вы хотите вернуть перенесенную тему обратно, пока ее не закрыли в Тест-форуме, измените ее заголовок на осмысленный (http://forum.oszone.net/faq.php?faq=vb_board_usage#faq_rename_thread) и напишите об этом в теме.

Переименуйте пожалуйста тему.

LexaSF
18-12-2010, 13:06
как ее переименовывать?

Creat0R
18-12-2010, 13:30
как ее переименовывать? »
В цитате есть ссылка указывающая на инструкцию.

Iska
18-12-2010, 13:40
Creat0R, видать, всё равно не помогает :lol:.

LexaSF, …измените ее заголовок на осмысленный (http://forum.oszone.net/faq.php?faq=vb_board_usage#faq_rename_thread)… »

Coutty
18-12-2010, 14:39
LexaSF, а почему что-то должно поменяться от нажатия на кнопку? Самый простой способ убедиться - вывести результат работы этой функции во всплывающем окне. Что-то вроде этого:
MsgBox(0,0, GuiCtrlRead($Button))
Если вы хотите отловить событие "нажатие на кнопку", то "улавливатель" надо ставить в функцию перерисовки окна:
While 1
$msg = GUIGetMsg()
Select
Case $msg = $Button
; здесь ваш код по нажатию кнопки
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd

LexaSF
18-12-2010, 16:08
Спасиб, получилось, но почему со Switch неработало? И при нажатии на кнопку сообщение вылазиет не всегда с 1 нажатия, как это можно исправить?

Creat0R
18-12-2010, 16:44
почему со Switch неработало? »
Телепаты в отпуске, никто не знает как там у тебя было со Switch.

LexaSF
18-12-2010, 17:28
Примерно так
$n = GUIGetmsg()
Switcg $n
Case $n = $Button
Msgbox(0,'','')
EndSwitch

Coutty
18-12-2010, 17:38
Здесь сразу две ошибки.
1. Switch во второй строке неправильно написан.
2. Синтаксис не такой. Надо писать не Case $n = $Button, а просто Case $Button. Читайте справку)

LexaSF
18-12-2010, 17:54
)но осталась 1 проблема - кнопки реагируют не сразу.Я нажимаю на 7них, они то с 1 раза выводят сообщение то с 3 как это исправить?

Coutty
18-12-2010, 18:09
Телепатический ресурс исчерпан. Показывайте код (не забудьте использовать тэг [ code ] или [ php ], а то читать никто не будет).

LexaSF
18-12-2010, 18:30
#include <GUIConstants.au3> #Region ### START Koda GUI section ### Form=C:\Users\Lexa\AppData\Local\Temp\Rar$EX00.605\Forms\12.kxf $Form1_1 = GUICreate("Settings", 340, 281, 374, 214) GUISetIcon("C:\Users\Lexa\Desktop\heroic_autobots.ico") GUISetFont(8, 800, 0, "Palatino Linotype") GUISetBkColor(0xFFFBF0) $Checkbox1 = GUICtrlCreateCheckbox("Выводить общюю статистику", 8, 56, 289, 25) GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype") $Label1 = GUICtrlCreateLabel(" AvToB0T Settings", 0, 0, 339, 25) GUICtrlSetFont(-1, 12, 800, 0, "FreeSetBlackCTT") GUICtrlSetBkColor(-1, 0xA6CAF0) $Label2 = GUICtrlCreateLabel("Кол-во попыток запуска при ошибке соеденения:", 8, 96, 324, 22) GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype") $Input1 = GUICtrlCreateInput("Input1", 8, 128, 209, 24) $Label3 = GUICtrlCreateLabel("Количество аккаунтов:", 8, 168, 191, 26) GUICtrlSetFont(-1, 12, 800, 0, "Palatino Linotype") $Input2 = GUICtrlCreateInput("Input2", 8, 200, 209, 24) $Button2 = GUICtrlCreateButton("Сохранить", 8, 240, 97, 25, 0) GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype") $Button1 = GUICtrlCreateButton("Выйти", 120, 240, 97, 25, 0) GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype") $Label4 = GUICtrlCreateLabel("By ToSTeP", 272, 256, 52, 18) GUICtrlSetFont(-1, 7, 800, 0, "Palatino Linotype") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch $msg = GUIGetMsg() Select Case $msg = $Button2 MsgBox(0,'','11111button') Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $Button1 MsgBox(0,'','22222button2') Exit EndSelect WEnd #include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=C:\Users\Lexa\AppData\Local\Temp\Rar$EX00.605\Forms\12.kxf
$Form1_1 = GUICreate("Settings", 340, 281, 374, 214)
GUISetIcon("C:\Users\Lexa\Desktop\heroic_autobots.ico")
GUISetFont(8, 800, 0, "Palatino Linotype")
GUISetBkColor(0xFFFBF0)
$Checkbox1 = GUICtrlCreateCheckbox("Выводить общюю статистику", 8, 56, 289, 25)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Label1 = GUICtrlCreateLabel(" AvToB0T Settings", 0, 0, 339, 25)
GUICtrlSetFont(-1, 12, 800, 0, "FreeSetBlackCTT")
GUICtrlSetBkColor(-1, 0xA6CAF0)
$Label2 = GUICtrlCreateLabel("Кол-во попыток запуска при ошибке соеденения:", 8, 96, 324, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Input1 = GUICtrlCreateInput("Input1", 8, 128, 209, 24)
$Label3 = GUICtrlCreateLabel("Количество аккаунтов:", 8, 168, 191, 26)
GUICtrlSetFont(-1, 12, 800, 0, "Palatino Linotype")
$Input2 = GUICtrlCreateInput("Input2", 8, 200, 209, 24)
$Button2 = GUICtrlCreateButton("Сохранить", 8, 240, 97, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Button1 = GUICtrlCreateButton("Выйти", 120, 240, 97, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Label4 = GUICtrlCreateLabel("By ToSTeP", 272, 256, 52, 18)
GUICtrlSetFont(-1, 7, 800, 0, "Palatino Linotype")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$msg = GUIGetMsg()
Select
Case $msg = $Button2
MsgBox(0,'','11111button')
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Button1
MsgBox(0,'','22222button2')
Exit
EndSelect
WEnd

madmasles
18-12-2010, 18:45
LexaSF,
;...
While (http://www.autoitscript.com/autoit3/docs/keywords.htm#While) 1
$nMsg = GUIGetMsg (http://www.autoitscript.com/autoit3/docs/functions/GUIGetMsg.htm)()
Switch (http://www.autoitscript.com/autoit3/docs/keywords.htm#Switch) $nMsg
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $GUI_EVENT_CLOSE
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $Button1
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(0, '', '11111button')
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $Button2
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(0, '', '22222button2')
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
EndSwitch (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSwitch)
WEnd (http://www.autoitscript.com/autoit3/docs/keywords.htm#WEnd)

LexaSF
18-12-2010, 18:53
Блин, как мне так сделать?

madmasles
18-12-2010, 19:18
Блин, как мне так сделать? »Вы про Au3ToPost - Инструмент для расскраски AutoIt-кода (http://autoit-script.ru/index.php/topic,117.0.html)?

LexaSF
18-12-2010, 19:22
А, я думал это вы с помощью ББ сделали))Но все же почему реакция идет не сразу?

madmasles
18-12-2010, 19:28
LexaSF,
У меня сразу.

LexaSF
18-12-2010, 19:31
у меня железо не вроде самое глючное)Но идет не сразу.От чего может зависить это?

Creat0R
18-12-2010, 21:34
идет не сразу.От чего может зависить это? »
От того что используется несколько GUIGetMsg, тебе показали как делать, а ты за своё. Читай справку, срочно!




© OSzone.net 2001-2012