본문 바로가기
컴퓨터/오토핫키

오토핫키 Edit Gui를 선택했을 때 함수를 실행하는 방법 - OnMessage

by 큐브빌드 2021. 7. 17.
반응형

오토 핫키에는 GUI를 선택했을 때 반응하는 g 변수(?) 함수(?) 가있습니다.

 

V는 변수롤 설정할 수 있으며

 

G는 Gosub를 사용할 수 있습니다.

 

하지만 Edit GUI에서는 G 레이블이 적용되지 않습니다.

 

Gui, Add, Text, gBTN1, Click anywhere in this window.
Gui, Add, Edit, w200 vMyEdit gBTN2
Gui, Show
return

BTN1:
{
	msgbox TEXTGUI 선택했음
	return
}

BTN2:
{
	msgbox EDITGUI 선택했음
	return
}

 

테스트 한 코드입니다.

 

이렇게 작은 창이 하나 뜨고 여기서 Edit 부분은 선택해도 아무 반응이 없습니다.

 

그래서 어떻게 하면 좋을까 찾아봤더니 OnMessage를 활용하면 GUI를 체크할 수 있었습니다.

 

그리고 조금 더 아래로 내려보면 예시 문서가 있습니다.

 

 

아래 이미지와 같이 EDIT에 설정 된 Variable이 노출됩니다. (MyEdit)

그렇기 때문에 Edit를 눌렀을 때 함수를 호출하는 방법은 아래 코드처럼 하면 됩니다.

Gui, Add, Text,, Click anywhere in this window.
Gui, Add, Edit, w200 vMyEdit
Gui, Add, Edit, w200 vMyEdit2
Gui, Show
OnMessage(0x201, "WM_LBUTTONDOWN")
return

WM_LBUTTONDOWN(wParam, lParam)
{
    if (a_guicontrol = "MyEdit")
    {
        tooltip , "에디터1번"
        ;여기에 호출할 함수 입력
    }
    else if(a_guicontrol = "myEdit2")
    {
        tooltip , "에디터2번"
        ;여기에 호출할 함수 입력
    }
}

GuiClose:
ExitApp

 

※ 아직 고민중인것은 msgbox를 호출하면 a_guicontrol이 고정이 되어버리는 현상이 있는 것 같습니다.

 

해당 부분은 조금 더 공부를 해본뒤에 알려드리겠습니다. 

반응형

댓글