오토핫키 커뮤니티

2015.02.13 23:08

[디자인] GUI 스킨

조회 수 11193 추천 9 댓글 214

https://i.imgur.com/qx6jZ07.png

블로그 글 복사하면, 티의 이야기(ㅎㅎ)가 금지어라서 이미지와 다운로드링크를 새로 적어야하더군요.

떄문에 글이 좀 난잡해졌습니다. 원본 글 읽으시길 추천합니다 http://me2.do/GoveZZiz



오토핫키는 GUI(Graphical User Interface) 를 쉽게 사용할 수 있습니다.

단순히 입력명령어들로만 매크로를 제작할수있지만, 보다 직관적인 프로그램을 위해서는 인터페이스가 제공되어야겠죠

또한 기본 윈도우 외관에서 벗어나, 아래처럼 새로운 스킨들로 개성있는 인터페이스창을 만들수있습니다.


https://i.imgur.com/9iRHzYf.gif

?

필요한 파일


ㅡ 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")
? ? ? ? }
}


라이브러리


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")
? ? ? ? }
}


예제



전체 최신 인기글

전체 주간 인기글