[Autohotkey][16] 오토핫키 강좌 - GUI (1)

Posted by 아이티프로13
2019. 5. 12. 00:44 프로그래밍/AutohotKey

 

안녕하세요. 쿠과자입니다.

오늘은 드디어 대망의..(?) GUI에 대해서 알아보고자 합니다.

지금까지 오토핫키는 아무것도 안보이고 핫키만 눌러서 실행하는 타입이었다면

GUI를 배우고 나면 화면에 창도 띄우고, 버튼 같은것도 눌러서 설정같은것도 할 수 있을겁니다.

 

GUI란?

 

https://namu.wiki/w/GUI

나무위키 문서를 참고하자면..

GUI는 Graphical User Interface의 약자로, 쉽게 쉽게 말하자면 화면에 띄워서 버튼 클릭이나 이런걸로 제어가 가능하게 되는 방식을 GUI 라고합니다.

지금 이 화면을 보시는것도 (일반적이라면) 크롬이나 익스플로러, 파이어폭스 등의 GUI 를 통해 보고 계실거고,

지금까지 오토핫키 공부도 윈도우 탐색기라는 GUI, Notepad++라는 GUI 환경에서 작업하셨을 겁니다.

GUI가 없었다면 프로그램 실행부터 여기 사이트에 접속해 보는것까지 모두 명령어를 입력해서 작업해야 했을 겁니다.

 

테스트로 만든 GUI

오토핫키에서는 기본적으로 윈도우폼 기반의 GUI를 지원해 줍니다.

이따가 툴로 직접 만들어보겠지만, 명령어만 몇개 입력하면 위처럼 근사한(?) GUI를 만들수 있습니다.

그 외에도 GUI를 통해서 각종 입력을 받거나 입력을 주고, 버튼 등을 눌러 실행을 하게끔 설정할 수도 있습니다.

이는 이후에 시작해보도록 하고, 오늘은 GUI를 간단히 생성까지만 해보도록 하겠습니다.

 

 

GUI 만들기 - SmartGUI

 

원래라면 명령어를 하나하나 입력해야 됬겠지만, 현명하신 어느 분이 GUI를 만드는 툴을 오토핫키로(!!!) 만드셨습니다.

2004년에 만들어진 상당히 오래된 프로그램인데, 성능이 뛰어나 아직까지 사랑받고 있죠.

 

https://autohotkey.com/board/topic/738-smartgui-creator/

 

:: SmartGUI Creator :: - Scripts and Functions

Page 1 of 57 - :: SmartGUI Creator :: - posted in Scripts and Functions: :: SmartGUI Creator ::Latest : Release 4.0Heres an easy point-n-click GUI (user interface) creator!... You just draw a user interface the way you like and a script will be generated w

autohotkey.com

위 링크로 들어가 줍시다.

아래에 Download 에 Link가 있는데, 이를 눌러 파이어폭스로 이동한 후 다운로드 셔서 압축을 풀면 됩니다.

다운로드가 안된다면 아래의 첨부파일을 이용해주세요.

smartgui.zip
0.27MB

SmartGui.exe를 실행하면 됩니다.

 

위처럼 두 팝업창이 뜰텐데,

메뉴얼을 읽으라는 말과 간단한 핫키 설명이므로 둘다 예와 확인 버튼을 누르시고 넘어가시면 됩니다.

 

 

저희가 애용하게될 SmartGUI Creator의 창입니다.

위에 툴바에 여러가지 항목들이 있는데, 클릭한 후 저 빈공간에 마우스 커서를 놓은 뒤 다시 클릭하면 그 항목을 추가할 수 있습니다.

저 빈공간은 당연히 확장/축소가 가능하고 추가한 항목들도 우클릭->Move 

 

각각의 항목들이 굉장히 많은데, 하나하나 설명해 드리겠습니다.

  1. Button (버튼) -> 말 그대로 버튼입니다.
  2. Checkbox (체크박스) -> 말 그대로 체크를 할지안할지 설정하는겁니다. 
  3. Radio (라디오) -> 체크박스와 비슷하지만, 여러개 중 한개만 체크가 가능합니다.
  4. Edit (에딧) -> 직접 사용자 입력을 받을수 있는 창입니다.
  5. Text (텍스트) -> 말 그대로 텍스트를 띄울때 사용합니다.
  6. GroupBox (그룹박스) -> 단순히 UI를 위한 항목입니다. 여러 항목을 묶을때 주로 사용합니다.
  7. Picture (픽쳐) -> 사진(*.png, *.jpg, *.bmp, *.gif 등)을 넣을때 사용합니다.
  8. DropDownList (드롭다운리스트) -> 여러가지 항목 중 하나를 선택할때 사용합니다.
  9. ComboBox (콤보박스) -> 드롭다운리스트와 비슷하지만, 사용자의 입력을 받을 수 있습니다.
  10. ListBox (리스트박스) -> 각종 리스트를 쭉 나열해 줍니다.
  11. ListView (리스트뷰) -> 리스트박스와 비슷하지만, 엑셀처럼 행과 열을 통해서 관리합니다. 일종의 표 느낌
  12. DateTime (데이트타임) -> 날짜를 표시or입력합니다.
  13. MonthCal (먼스캘린더) -> 달력으로 날짜를 표시or입력합니다.
  14. Progress (프로그레스 바) -> 변수 등을 진행 바로 표시합니다.
  15. Slider (슬라이더) -> 슬라이더를 통해 변수등을 제어합니다.
  16. Hotkey (핫키) -> 핫키를 입력으로 받습니다.
  17. Tab (탭) -> 크롬의 탭처럼 탭을 사용합니다.
  18. UpDown (업다운) -> 변수를 1단위로 바꿀때 사용합니다.

모듈이 많아보이지만 쓰다보면 다 외워지고, 어차피 쓰는것만 주로 사용하니 필요한 항목이 있으면 그때그때 배워서 쓰면 됩니다. 주로 Button, Checkbox, Edit, Text, GroupBox 등을 사용합니다.

항목을 이용해서 대충 한번 GUI를 만들어 봅시다.

 

어느정도 GUI를 만들었으면, 테스트를 해봅시다.

F9를 누르면 바로 테스트가 가능하지만, ahk 파일로 만들기 위해 따로 저장을 합시다.

File -> Save Script As.. 를 선택해줍니다.

 

Save New GUI to File 을 선택해주고 Yes 버튼을 눌러 저장을 해줍니다.

 

 

저장을 하면 위처럼 정상적으로 GUI가 나옴을 알 수가 있습니다.

 

 

 공감 버튼을 눌러주시면

블로거에게 힘이 됩니다!