Что нового

[Элементы GUI] Передача параметров функции через GUICtrlSetOnEvent

Nerfair

Новичок
Сообщения
7
Репутация
0
Код:
$x = GUICtrlCreateInput("", 55, 300, 183, 20)
$y = GUICtrlCreateInput("", 55, 322, 183, 20)
GUICtrlCreateButton("Сохранить", 240, -1, 70, 20)
GUICtrlSetOnEvent(-1, "RegPressed(" & $x & ", " & $y &")")

Func RegPressed($name, $key)
     MsgBox(0, "Ключи", "Имя: " & $name & " Ключ: " & $key )
EndFunc


Так же попробовал

Код:
$regpA = GUICtrlCreateInput("", 55, 300, 183, 20)
$regpB =  GUICtrlCreateInput("", 55, 322, 183, 20)
GUICtrlCreateButton("Сохранить", 240, -1, 70, 20)
GUICtrlSetOnEvent(-1, "RegPressed")

Func RegPressed()
     MsgBox(0, "Ключи", "Имя: " & $regpA & " Ключ: " & $regpB )
EndFunc


Почему то выдает Имя: 26 Ключ: 27


В общем нужно через GUICtrlSetOnEvent(-1, "RegPressed") передать значения GUICtrlCreateInput, но как это сделать? :( Как не возился, ничего не выходит.
 

r35p3ct

Продвинутый
Сообщения
228
Репутация
60
Nerfair [?]
В общем нужно через GUICtrlSetOnEvent(-1, "RegPressed") передать значения GUICtrlCreateInput, но как это сделать?
Читать справку. Ну а если лень, то:
Код:
$xdata=GUICtrlRead($x)
$ydata=GUICtrlRead($y)
 
Автор
Nerfair

Nerfair

Новичок
Сообщения
7
Репутация
0
r35p3ct!
Cпасибо! Как раз зашел в тему что бы сказать что нашел информацию про GUICtrlRead
С наступающим :beer:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 472
Репутация
2 401
По теме «Передачи параметров функции через GUICtrlSetOnEvent», для этого есть OnEvent UDF, см. вложение.

Код:
#include <GUIConstantsEx.au3>
#include "OnEvent_UDF.au3"

_SetOnEvent("{F1}", "HotKey_F1_Event", "Help needed!")

Opt("GuiOnEventMode", 1)

$GUI = GUICreate("OnEvent_UDF Demo!", 300, 200)
_SetOnEvent($GUI_EVENT_CLOSE, "_Main_Events", "Before we Exit, we leave some message to our Users :)")

$Button1 = GUICtrlCreateButton("Button 1", 20, 40, 60, 20)
_SetOnEvent(-1, "_Main_Events", "Button 1")

$Button2 = GUICtrlCreateButton("Button 2", 20, 80, 60, 20)
_SetOnEvent(-1, "_Main_Events", "Button 2")

GUICtrlCreateLabel("Message: ", 20, 170, -1, 20)
GUICtrlSetColor(-1, 0xFF0000)

$Message_Ctrl = GUICtrlCreateLabel("", 80, 171, 200, 30)
GUICtrlSetColor(-1, 0x0000FF)

GUISetState(@SW_SHOW, $GUI)

While 1
	Sleep(100)
WEnd

Func _Main_Events($sParam)
	Switch @GUI_CtrlId
		Case $GUI_EVENT_CLOSE
			Set_Message_Data($sParam)
			
			Sleep(2000)
			
			Exit ConsoleWrite($sParam & @CRLF)
		Case $Button1, $Button2
			Set_Message_Data("CtrlID(" & @GUI_CtrlId & "): " & $sParam)
	EndSwitch
EndFunc

Func HotKey_F1_Event($sParam)
	Set_Message_Data("HotKeyPressed(" & @HotKeyPressed & "): " & $sParam)
EndFunc

Func Set_Message_Data($sData)
	GUICtrlSetData($Message_Ctrl, $sData)
EndFunc
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Nerfair, не забывайте отмечать тему решенной, когда нейден ответ на вопрос!
 

IgorFIN

Новичок
Сообщения
6
Репутация
1
Откуда можно скачать OnEvent_UDF.au3 ?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 472
Репутация
2 401
Прикрепил.
 

Вложения

  • Like
Реакции: Norm
Верх