지난 강좌에서 Edit와 v레이블에 대해 배웠습니다. g레이블과 v레이블을 복습해볼까요?

 

1. g레이블

  • g는 Goto의 약자 (그렇지만 안심하고 써도 됨)
  • g레이블이 달린 컨트롤이 반응하면 레이블명으로 된 서브루틴으로 이동한다.
  • 즉, gBtn을 달았으면 Btn: 서브루틴이 있어야함

2. v레이블

  • v는 Variable(변수)의 약자
  • 레이블명으로 된 변수에 해당 컨트롤의 내용이 들어가있다.
  • %레이블명%으로 사용

좋습니다. 간혹 v레이블명으로 서브루틴:을 만드는 경우가 있는데, 그러면 안됩니다. 헷갈리지 않게 조심해주세요.

 


 Gui의 내용을 가져와주는 Gui, Submit, NoHide 

지난 강좌에서 v레이블로 만들었던 스크립트, 기억하시나요?

Gui, Add, Edit, x10 y10 w180 h20 vEdit, 입력해주세요
Gui, Add, Button, x10 y40 w180 h20 gBtn, 출력하기
Gui, Show, w200 h70, 53강
return

Btn:
MsgBox, %Edit%
return

GuiClose:
ExitApp

버튼을 누르면 v레이블을 변수로 사용해 입력칸의 내용을 대화상자에 출력하도록 만들었던 스크립트입니다. 하지만 실제로 버튼을 눌러보면 빈 칸만 출력될 뿐이었습니다. (아무것도 출력이 되지 않았다고 해야 더 정확하겠죠?)

 

그 이유는 Gui, Submit, NoHide라는 구문에 있습니다. 해당 구문은 마치 공식처럼 하나로 묶여 사용되므로 매개변수를 생각하지 말고 한 줄 전체를 외워주세요.

Gui, Submit, NoHide

이 구문은 "Gui의 내용을 가져와라"라는 의미입니다. 스크립트를 진행하다가 이 구문을 만나면, 그제서야 v레이블에 현재 GUI의 내용이 담깁니다.

 

이전에 짰던 스크립트에선 이 구문이 없었기 때문에  v레이블에 값이 담기지 않았던 것입니다. v레이블의 값을 못 받아올 때 99%는 이 구문을 써주지 않았기 때문입니다. 반드시 v레이블에 값을 담을 때 이 구문을 적재적소에 써주세요.

 

아래 구문은 정상적으로 입력칸의 내용이 출력됩니다.

Gui, Add, Edit, x10 y10 w180 h20 vEdit, 입력해주세요
Gui, Add, Button, x10 y40 w180 h20 gBtn, 출력하기
Gui, Show, w200 h70, 53강
return

Btn:
Gui, Submit, NoHide
MsgBox, %Edit%
return

GuiClose:
ExitApp

53강.ahk
0.00MB

v레이블과 g레이블만 알면 GUI 기초강좌는 거의 끝난 것이나 마찬가지이죠. 프로그래밍 문제를 다음 강에 풀어보고, 그 다음부턴 새로운 컨트롤들을 소개시켜드리겠습니다. 전부하면 많으니 자주 쓰이는 컨트롤만요.

 


| 53. 레이블 정리 / Gui, Submit, NoHide |