오토핫키는 GUI(Graphical User Interface) 를 쉽게 사용할 수 있습니다.
단순히 입력명령어들로만 매크로를 제작할수있지만, 보다 직관적인 프로그램을 위해서는 인터페이스가 제공되어야겠죠
또한 기본 윈도우 외관에서 벗어나, 아래처럼 새로운 스킨들로 개성있는 인터페이스창을 만들수있습니다.
필요한 파일
ㅡ USkin.dll 파일이 필요합니다 여기를 클릭해 다운로드하세요.
ㅡ 테마(스킨)파일이 필요합니다, 위 링크에 'skin.zip' 을 다운받으세요.
ㅡ 라이브러리 함수가 필요합니다. AutoHotkey/Lib 폴더 혹은 자신의 소스코드와 동일한 경로에 두세요.
SkinForm(Param1 = "Apply", DLL = "", SkinName = ""){
if(Param1 = Apply){
DllCall("LoadLibrary", str, DLL)
DllCall(DLL . "\USkinInit", Int,0, Int,0, AStr, SkinName) ; For 유니코드
;DllCall(DLL . "\USkinInit", Int,0, Int,0, Str, SkinName) ; For ANSI
}else if(Param1 = 0){
DllCall(DLL . "\USkinExit")
}
}
if(Param1 = Apply){
DllCall("LoadLibrary", str, DLL)
DllCall(DLL . "\USkinInit", Int,0, Int,0, AStr, SkinName) ; For 유니코드
;DllCall(DLL . "\USkinInit", Int,0, Int,0, Str, SkinName) ; For ANSI
}else if(Param1 = 0){
DllCall(DLL . "\USkinExit")
}
}
GUI 창에 적용하기
USkin.dll 은 기본 GUI의 외관 리소스파일들을 교체함으로서, 오토핫키 문법에 아무런 영향을 주지 않습니다.
따라서, DllCall로 USkin.dll의 함수를 꺼내쓰고 기존의 코드는 수정할것이없습니다.
스크립트 최상단에 아래의 코드를 입력하세요, 모든 GUI의 리소스파일이 테마파일로 교체됩니다.
SkinForm(Apply, A_ScriptDir . "\USkin.dll", A_ScriptDir . "\스킨파일명.msstyles")
GUI창을 닫을떄, 핸들이 새는것을 막기위해 USkin.dll 을 종료해야합니다
SkinForm(0)
아래 코드는 'Milkymac.msstyles' 스킨을 사용하는 GUI 예제입니다.
#NoEnv
#SingleInstance force
SkinForm(Apply, A_ScriptDir . "\USkin.dll", A_ScriptDir . "\Milikymac.msstyles")
OnExit, GetOut
Gui, add, button,xm w100 h40, Button
Gui, add, edit, xm y+20 w100 h20, Edit
Gui, add, listbox,xm y+20, ListBox
Gui, add, checkbox,xm y+20, checkbox
Gui, add, DDL, xm y+20, DropDownList
Gui, Show, AutoSize, Test
return
GetOut:
GuiClose:
Gui, Hide
SkinForm(0)
ExitApp
return
SkinForm(Param1 = "Apply", DLL = "", SkinName = ""){
if(Param1 = Apply){
DllCall("LoadLibrary", str, DLL)
DllCall(DLL . "\USkinInit", Int,0, Int,0, AStr, SkinName)
}else if(Param1 = 0){
DllCall(DLL . "\USkinExit")
}
}
#SingleInstance force
SkinForm(Apply, A_ScriptDir . "\USkin.dll", A_ScriptDir . "\Milikymac.msstyles")
OnExit, GetOut
Gui, add, button,xm w100 h40, Button
Gui, add, edit, xm y+20 w100 h20, Edit
Gui, add, listbox,xm y+20, ListBox
Gui, add, checkbox,xm y+20, checkbox
Gui, add, DDL, xm y+20, DropDownList
Gui, Show, AutoSize, Test
return
GetOut:
GuiClose:
Gui, Hide
SkinForm(0)
ExitApp
return
SkinForm(Param1 = "Apply", DLL = "", SkinName = ""){
if(Param1 = Apply){
DllCall("LoadLibrary", str, DLL)
DllCall(DLL . "\USkinInit", Int,0, Int,0, AStr, SkinName)
}else if(Param1 = 0){
DllCall(DLL . "\USkinExit")
}
}
스킨파일(.msstyles) 이 많아 하나하나 확인해보고싶은데 너무 귀찮으시죠? 각 스킨을 미리보기로 미리보는 '프리뷰' 프로그램을 사용하세요
USkin.dll이 있는 폴더에서 실행하세요!
728x90
'프로그래밍 > AHK 메뉴얼' 카테고리의 다른 글
[공개] 오토핫키 반응형 학습 어플리케이션 (33) | 2015.02.22 |
---|---|
[정보] 오토핫키 간이 에디터 (2) | 2015.02.18 |
[메뉴얼] 내장파일 설치 가상화 (16) | 2015.02.09 |
[메뉴얼] 오토핫키 자동화 프로그램 제작 (240) | 2015.02.05 |
[메뉴얼] 오토핫키 소스코드 생성과 컴파일방법 (16) | 2015.02.05 |