#AutoHotKey |
오토핫키 - 버튼 GUI |
by 즈칸루하 |
지난 시간에는 오토핫키 GUI(Graphic User Interface)에 대해서 알아보았습니다.
버튼 구현까지 해 보았는데요
이번 시간에는 버튼을 클릭 했을 시에 일어나는 이벤트를 이용해서
여러가지 작업을 해보도록 해보겠습니다.
이 포스트의 주요 내용
- 버튼(button) 구현하기 ( 복습 & 추가 )
- 버튼(button)에 라벨달기
- 이벤트로 원하는 작업하기 - MsgBox
- 이벤트로 할 수 있는 것들
- 요약
버튼(button) 구현하기 ( 복습 & 추가 )
아래 소스는 지난 번 버튼을 구현한데에 이어서
실제로 클릭 시 이벤트가 발생하는 버튼을 만드는 소스입니다.
윈도우(GUI명령어로 생성된 창)에 있는 콘트롤(여기서는 버튼)을 클릭하거나 기타행동을 했을 시
발생하는 동작 또는 상태변화를 말합니다.
;GUI 테스트 Gui, +LastFound +AlwaysOnTop Gui, Add, Button, w80 h50 gbtn, 버튼 Gui, Show, w250 h100, 즈칸루하's GUI 테스트 return btn: MsgBox, 버튼 클릭! return GuiClose: ExitApp
저번 소스에 추가된 부분은 3번 라인과
7,8,9번 라인입니다.
버튼(button)에 라벨달기
Gui, Add, Button, w80 h50 gbtn, 버튼
에서 추가된 부분은 옵션에 gbtn 이 부분입니다.
오토핫키에서의 이벤트 발생 방법입니다.
콘트롤에 "g라벨명"의 방법으로 라벨과 연결시키고
라벨에서 사용자가 원하는 결과를 구현합니다.
gbtn - btn라벨과 연결 시키겠다는 뜻입니다.
즉 옵션에 gbtn이라고 명시해 주면 이 버튼을 클릭 시에 btn이라는 라벨로 가서
다음 return을 만나기 전까지 계속 실행하라는 뜻이죠.
btn:
MsgBox, 버튼 클릭!
return
이벤트로 원하는 작업하기 - MsgBox
btn: 이라는 라벨로 가보면
메시지 박스를 하나 띄우고 return 합니다.
아래는 실행(F5) 후 버튼 클릭한 화면입니다.
여러분도 저 모습 비슷하게 뜨나요?
메시지 박스가 윈도우 아래에 뜬다면 정상입니다.
이유가 뭘까요?
Gui, +LastFound +AlwaysOnTop
바로 +AlwaysOnTop 이거 때문입니다.
이 옵션은 항상 최상위윈도우 상태로 있게 하겠다는 뜻입니다.
이 옵션을 해제하려면 +기호를 -기호로 변경해주면 됩니다.
간단한 코드라서 아마 잘 동작하리라고 생각합니다.
여기서는 간단하게 버튼 이벤트 시에 메시지박스를 출력했는데요
그럼 또 어떤 것을 할 수 있을까요?
이벤트로 할 수 있는 것들
이벤트를 발생 시키고 실행시키는 원리를 설명해 드렸습니다.
그렇다면 이를 이용해 응용도 할 수 있겠죠?
btn:
하고 싶은 작업들...
retun
하고 싶은 작업들...에 자신이 하려는 작업들을 코딩해서 넣으면 되겠죠?
몇가지 예시로 만들어볼까요?
아래 코드를 MsgBox, 버튼 클릭! 와 대체해서 실행해 보세요!
인터넷익스플로어(인터넷 창) 띄우기
Run, www.tistory.com
메모장열기
Run, Notepad.exe, C:\My Documents, max ; max는 최대크기의 윈도우
마우스를 특정영역에 보내기
MouseMove, 100, 100
요약
위의 예시 외에 여러분이 컴퓨터로 할 수있는 거의 모든 것을 할 수있습니다.
하나하나 저와함께 알아보기로 하겠습니다.
여기까지 오토핫키의 GUI를 이용한 BUTTON(버튼)으로 이벤트를 발생시켜 보았습니다.
오토핫키는 윈도우 없이 핫키 만으로도 이벤트를 발생시킬 수도 있습니다.
크게봐서 오토핫키는 윈도우의 콘트롤을 이용한 이벤트발생과
핫키를 이용한 방법 두가지가 있다고 할 수 있습니다.
물론 보통은 두가지를 병행해서 짜임새있게 프로그램을 운용합니다.
앞으로의 포스트는 버튼 외의 다른 주요한 몇가지 콘트를들을 소개하고
응용하는 방법을 알아보겠습니다.
댓글