매크로

정보
2015.10.22 18:07

팝업 알림, CleanNotify

조회 수 433 추천 4 댓글 3
hqdefault.jpg hqdefault.jpg

이번 연초에 작성했던 스크립트인데, 여기엔 안 올린거 같아서 올립니다



라운드 처리가 안예뻐서 GDI로 만들고 있는데 귀찮네요 굉장히...


/*
CleanNotify by 예지력 (http://knowledgeisfree.tistory.com)
 
// Syntax
 
new CleanNotify("타이틀", "텍스트 " , 넓이, 길이, "포지션", 시간)
 
시간을 "P" 로 설정할 경우, 오브젝트를 파기하기 전까지 계속 존재합니다
 
인스턴스.Delete()
→ 오브젝트 제거
*/

 
#SingleInstance force
#NoEnv
SetBatchLines, -1
 
new CleanNotify("CleanNotify", "포지션 vc hc, 3초" , 600, 210, "vc hc", 6)
new CleanNotify("CleanNotify", "포지션 t hc" , 600, 210, "t hc", 3)
new CleanNotify("CleanNotify", "포지션 b hc" , 600, 210, "b hc", 3)
new CleanNotify("CleanNotify", "포지션 기본, b r" , 600, 210, "b r", 3)
new CleanNotify("CleanNotify", "포지션 b l" , 600, 210, "b l", 3)
new CleanNotify("CleanNotify", "포지션 t l" , 600, 210, "t l", 3)
return
 
class CleanNotify {
 
__New(Title, Msg, pnW := "700", pnH := "300", Pos := "b r", Time := "10")
{
 
Critical
 
LastFound := WinExist()
Gui, new, +hwndhNotify -DPIScale
this.hNotify := hNotify
 
Gui, % this.hNotify ": Default"
Gui, % this.hNotify ": +AlwaysOnTop +ToolWindow -SysMenu -Caption +LastFound"
WinSet, ExStyle, +0x20
WinSet, Transparent, 0
 
Gui, % this.hNotify ": Color", 0xF2F2F0
Gui, % this.hNotify ": Font", c0x07D82F s18 wBold, Segoe UI
Gui, % this.hNotify ": Add", Text, % " x" 20 " y" 12 " w" pnW-20 " hwndhTitle", % Title
this.hTitle := hTitle
 
Gui, % this.hNotify ": Font", cBlack s15 wRegular
Gui, % this.hNotify ": Add", Text, % " x" 20 " y" 56 " w" pnW-20 " h" pnH-56 " hwndhMsg", % Msg
this.hMsg := hMsg
Gui, % this.hNotify ": Show", % "W " pnW + 50 " H" pnH + 20 " NoActivate"
 
this.WinMove(this.hNotify, Pos)
WinSet, Region,0-0 w%pnW% h%pnH% R40-40, % "ahk_id " this.hNotify
Critical Off
this.winfade("ahk_id " this.hNotify, 210, 5)
 
if (Time != "P")
this.Timer(ObjBindMethod(this, "TimerExpired"), Time * 1000)
 
if (WinExist(LastFound))
Gui, % LastFound ": Default"
      }
 
__Delete()
{
this.Destroy()
}
 
Destroy()
{
this.winfade("ahk_id " this.hNotify, 0, 5)
Gui, Destroy
}
 
Timer(Fir, Sec)
{
SetTimer, % Fir, % "-" Sec
}
 
TimerExpired()
{
this.Destroy()
}
 
WinMove(hwnd,position)
{
   SysGet, Mon, MonitorWorkArea
   WinGetPos,ix,iy,w,h, ahk_id %hwnd%
   x := InStr(position,"l") ? MonLeft : InStr(position,"hc") ?  (MonRight-w)/2 : InStr(position,"r") ? MonRight - w : ix
   y := InStr(position,"t") ? MonTop : InStr(position,"vc") ?  (MonBottom-h)/2 : InStr(position,"b") ? MonBottom - h : iy
   WinMove, ahk_id %hwnd%,, x, y
}
 
winfade(w:="",t:=128,i:=1,d:=10) ; Thanks, Joedf
{
w:=(w="")?("ahk_id " WinActive("A")):w
t:=(t>255)?255:(t<0)?0:t
WinGet,s,Transparent,%w%
s:=(s="")?255:s ;prevent trans unset bug
WinSet,Transparent,%s%,%w%
i:=(s<t)?abs(i):-1*abs(i)
while(k:=(i<0)?(s>t):(s<t)&&WinExist(w)) {
WinGet,s,Transparent,%w%
s+=i
WinSet,Transparent,%s%,%w%
sleep %d%
}
}
}




List of Articles
분류 제목 글쓴이 최근변경 추천
정보 Menu bar 근접하게 만들어봄 4 fnwj 2017.11.26 0/0
정보 맥주소 얻기 12 와이로 2015.10.05 1/0
정보 MS오피스 스타일 GUI 프로토타입 6 예지력1 2016.04.16 4/0
정보 팝업 알림, CleanNotify 3 예지력1 2015.11.11 4/0
정보 ㅋㅋㅋㅋ 베스트글 보려고 2랩찍으려다가 2랩 찍기전에... 6 sica 2018.03.03 0/0
정보 g라벨? v라벨? 설명좀해주세요 5 이리오리오 2016.10.25 0/0
정보 간단한 방법으로 길오아 오토핫키를 만들어보세요^^ 21 럭셔리형아 2018.02.07 4/0
정보 오토핫키를 간단히 쓰고싶지만 너무 어렵다고 느낄때 9 HyunsD 2018.02.07 3/0
정보 오토핫키 이미지 스위치... 6 파더 2015.11.27 0/0
정보 [Lib] Class MsgBox, 메시지박스 확장 4 예지력1 2015.11.27 2/0
정보 adb 관련 비활성화 이미지 서치 쉽게하기 6 운하파는 2016.07.02 1/0
정보 저번에 올려드린 홈페이지보다 더 유용한 사이트 5 침묵의고요 2018.02.07 2/0
정보 DynaScript - Child 프로세스로 코드 실행 13 예지력1 2019.07.16 3/0
정보 앱아이콘 터치없이 adb로 앱 실행 시키는 방법 18 와이로 2021.01.23 3/0
정보 오랫만에 들러서 하나 투척하고 가요 ^^ 7 로뎀나무 2019.07.30 0/0
정보 외치기님 푸쉬블렛 .. 시간 보내기 (누군가 질문던지신... 2 제발등업좀2 2016.03.30 1/0
정보 좌표개념 이해하기... 참고 그림.. 6 제발등업좀2 2016.05.26 1/0
정보 MsgBox 설정 3 괴리사 2016.06.08 2/0
정보 마지막으로 작업했던 오토핫키 공유(1) 6 Vesper 2017.05.29 1/0
정보 마지막으로 작업했던 오토핫키 공유(2) 2 Vesper 2016.11.03 1/0
Board Pagination Prev 1 23456 7 Next
/ 7

전체 최신 인기글

전체 주간 인기글