이지셋 - AHK GUI 위치 쉽게 조정하기
처음에 코드에 GUI를 넣을 때야 Smart GUI를 사용하면 쉽게 넣을 수 있지만 세부적인 조정(배치 등)을 해준 뒤에 그룹 단위로 위치를 변경할 일이 있으면... 정말 몸서리나도록 번거롭더군요.
더군다나 1px 단위로 정렬하는 제 성격상..
(가,강박은 아닐거라 믿고 있습니다)
물론 상대좌표 지정을 위한 xp, yp, wp, hp 기능을 AHK에서는 지원을 하고 있지만 1Smart 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)
이지셋 다운로드 (소스 포함)
이게 필요한 분이라면 AHK로 gui를 만드는 분이실거고..
결국 이 정도는 다들 아신다는 건데..
더 간편하고 효율적인 방법이 있다면 나눠주십사 하는 취지에서 작성되었습니다. 하하.
이제 자러가야겠네요.
금요일 아침 6시에 자러가다니..
- 직전에 삽입된 컨트롤의 좌표 및 크기 설정값을 계승 [본문으로]