Что нового

[Элементы GUI] Custom InputBox но как стандартный

Dimmak

Знающий
Сообщения
185
Репутация
9
Есть custom inputbox c кнопкой ок! :smile:
Нужно чтоб при нажатии Enter окно закрывалось и переменная получала значение inputbox ( как в стандарной inputbox ).
:scratch:
Код:
#include <GUIConstantsEx.au3>
    GUICreate("1",380,30)
    GUICtrlCreateInput('2',0,0,330,30)
    GUICtrlSetFont(-1, 15, 400, 0, "Tahoma")
    GUICtrlCreateButton ("OK",  330, 2, 50)
	GUISetState(@SW_SHOW)


	While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
Re: [Элементы GUI] Custom InputBox

Dimmak
Попробуй отлавливать нажатие ENTER когда окно активно, и если TRUE - выполняй нужное действие
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
Re: [Элементы GUI] Custom InputBox

Dimmak
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Элементы GUI] Custom InputBox " - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Администратор.











Добавлено:
Сообщение автоматически объединено:

И ещё:
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Администратор.
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Код:
GuiSetAccelerators()

или
Код:
#include <GUIConstantsEx.au3>

HotKeySet('{ENTER}', 'OK')

GUICreate("1",380,30)
$Input = GUICtrlCreateInput('2',0,0,330,30)
GUICtrlSetFont(-1, 15, 400, 0, "Tahoma")
$OK = GUICtrlCreateButton ("OK",  330, 2, 50)
GUISetState()

While 1
    Switch GUIGetMsg()
		case $GUI_EVENT_CLOSE
			Exit
		Case $OK
			ok()
	EndSwitch
WEnd

Func OK()
	MsgBox(0, '', GUICtrlRead($Input))
EndFunc
 
Автор
Dimmak

Dimmak

Знающий
Сообщения
185
Репутация
9
Zaramot
Спасибо! :smile:
:IL_AutoIt_1:
Только вот как по-умолчанию сделать ok! кнопку активной??
Чтоб по Enter InputBox захлопывалась??
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
Dimmak [?]
как по-умолчанию сделать ok! кнопку активной?
Код:
#include <GUIConstantsEx.au3>

$hGUI = GUICreate("Title", 380, 30)

GUICtrlCreateInput('Text', 0, 0, 330, 30)
GUICtrlSetFont(-1, 15, 400, 0, "Tahoma")

$nButton = GUICtrlCreateButton("OK", 330, 2, 50)
GUICtrlSetState(-1, $GUI_DEFBUTTON)

GUISetState(@SW_SHOW)

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
		Case $nButton
			GUIDelete($hGUI)
			MsgBox(64, 'Title', 'Ok')
			
			Exit
	EndSwitch
WEnd
 
Верх