상세 컨텐츠

본문 제목

이지셋 - AHK GUI 위치 쉽게 조정하기

자작프로그램/AHK-PC

by Rahs 2016. 1. 15. 06:13

본문


처음에 코드에 GUI를 넣을 때야 Smart GUI를 사용하면 쉽게 넣을 수 있지만 세부적인 조정(배치 등)을 해준 뒤에 그룹 단위로 위치를 변경할 일이 있으면... 정말 몸서리나도록 번거롭더군요.

더군다나 1px 단위로 정렬하는 제 성격상..

(가,강박은 아닐거라 믿고 있습니다)


물론 상대좌표 지정을 위한 xp, yp, wp, hp 기능[각주:1]을 AHK에서는 지원을 하고 있지만 Smart Gui 써보면 코드 삽입 시에는 절대좌표로 삽입이 이루어지죠.


그래서 만들었습니다.

범용으로 뭐 얼마나 효용이 있을는지는 모르겠지만 적어도 지금 가지고 노는 코드들처럼 GUI의 이동이 빈번한 아이들을 다룰 때에는 정말 유용하게 사용할 수 있을 것 같아요.


도대체 무슨 말을 하는 거야? 하실텐데,

쉽고 빠른 이해를 위해 Smart GUI로 만든 예제부터 보시겠습니다.


SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

Gui, Add, GroupBox, x182 y9 w230 h310 , GroupBox
Gui, Add, CheckBox, x192 y29 w210 h20 , CheckBox
Gui, Add, CheckBox, x192 y49 w210 h20 , CheckBox
Gui, Add, CheckBox, x192 y69 w210 h20 , CheckBox
Gui, Add, Picture, x192 y99 w210 h80 , %A_ScriptDir%\header_default.jpg
Gui, Add, Edit, x192 y189 w210 h20 , Edit
Gui, Add, Progress, x192 y259 w210 h20 , 25
Gui, Add, Button, x192 y289 w90 h20 , Button
Gui, Add, Button, x292 y289 w110 h20 , Button
Gui, Add, Text, x192 y219 w100 h30 , Text
Gui, Add, Text, x302 y219 w100 h30 , Text
Gui, Show, w425 h331, Untitled GUI
return

GuiClose:
ExitApp

이걸 실행하면 이런 모습이 나오죠.



제 목적은 저 컨트롤들이 세트로 이동이 되도록 만드는 겁니다.

이번에는 세트를 왼쪽으로만 옮겨볼 겁니다.


1. 첨부된 Easy GUI setting(이하 이지셋)을 실행시킨 뒤,

2. 원 GUI 소스의 아래 부분만 클립보드로 복사합니다. (Ctrl+C)

Gui, Add, GroupBox, x182 y9 w230 h310 , GroupBox
Gui, Add, CheckBox, x192 y29 w210 h20 , CheckBox
Gui, Add, CheckBox, x192 y49 w210 h20 , CheckBox
Gui, Add, CheckBox, x192 y69 w210 h20 , CheckBox
Gui, Add, Picture, x192 y99 w210 h80 , %A_ScriptDir%\header_default.jpg
Gui, Add, Edit, x192 y189 w210 h20 , Edit
Gui, Add, Progress, x192 y259 w210 h20 , 25
Gui, Add, Button, x192 y289 w90 h20 , Button
Gui, Add, Button, x292 y289 w110 h20 , Button
Gui, Add, Text, x192 y219 w100 h30 , Text
Gui, Add, Text, x302 y219 w100 h30 , Text

3. 이지셋의 [변환하기]를 누르던가, 클립보드로 복사한 상태에서 Ctrl+Alt+Shift+P 를 누릅니다.

4. 이지셋의 텍스트 박스에 나타난 변환된 소스를 "눈으로 봅니다".

  - 변환된 소스는 클립보드에도 들어있습니다.



 

해당 그룹박스의 모든 컨트롤은 가장 위에 있는 GroupBox의 좌표를 기준으로 상대좌표로 바뀌었습니다.

이제 그룹박스의 x값만 줄여주면 되겠네요.

원 GUI 소스를 변경된 소스로 갈아치우고 그룹박스의 x값만 x182에서 x10으로 바꾼 뒤 실행해보면,



상대좌표로 종속된 컨트롤들이 깔끔하게 다 따라붙은 걸 볼 수 있습니다.


익숙해지면 그냥..

1. 묶음이 필요한 GUI문 마우스로 선택

2. Ctrl+C

3. Ctrl+Alt+Shift+O

4. Ctrl+V

하면 그대로 변경된 소스로 교체됩니다. (복원 단축키는 Ctrl+Alt+Shift+P)


이지셋 다운로드 (소스 포함)


Easy GUI setting.zip



이게 필요한 분이라면 AHK로 gui를 만드는 분이실거고..

결국 이 정도는 다들 아신다는 건데..

더 간편하고 효율적인 방법이 있다면 나눠주십사 하는 취지에서 작성되었습니다. 하하.


이제 자러가야겠네요.

금요일 아침 6시에 자러가다니..


  1. 직전에 삽입된 컨트롤의 좌표 및 크기 설정값을 계승 [본문으로]

관련글 더보기

댓글 영역