매크로

정보
2015.01.16 22:06

지니모션 드래그 함수

조회 수 491 추천 1 댓글 1

저도 드래그 때문에 약간 고생했었는데요.?


드래그는 사람이 움직이듯 for문으로 좌표를 증가시키면서 해줘야하는게 포인트 였습니다.


근데 오핫에는 for문이 없나요?? 오핫도 정보가 은근히 없더라구요 ㅠ_ㅠ


SysGet, TitleBorderWeight, 32 ; 보더두께값을 변수에저장

SysGet, TitleWeight, 4 ? ?; 제목표시줄두께값을 변수에 저장


WinGetPos, gX, gY, gWidth, gHeight, %title% ; 해당윈도우의 좌표와 크기를 얻는다.


pmovedrag(1, 612, 372, 612, 183, "위쪽", "왼쪽버튼", 1, 1000, FindTitle)


;---------------------------------------------------------------------

;[pmovedrag] postmessage 드래그

; cp=클라이언트 좌표인지 여부

; x,y=시작좌표

; x1,y1=끝좌표

; direction=드래그방향(왼쪽,오른쪽,위쪽,아래쪽)

; nbutton=왼쪽버튼or오른쪽버튼

; pushdelay=누름딜레이

; leavedelay=드래그 끝난후 딜레이

; titlename=창이름

;---------------------------------------------------------------------

pmovedrag(cp, x, y, x1, y1, direction, nbutton, pushdelay, leavedelay, titlename)

{

Global TitleBorderWeight, TitleWeight, gX, gY

; 윈도우 좌표일 경우

if cp = 0

{

x := x - TitleBorderWeight - gX

y := y - TitleWeight - gY

x1 := x1 - TitleBorderWeight - gX

y1 := y1 - TitleWeight - gY

}

; 클라이언트 좌표일 경우

else

{

x := x - TitleBorderWeight

y := y - TitleWeight

x1 := x1 - TitleBorderWeight

y1 := y1 - TitleWeight

}

N:=x|y<<16 ? ?;<-좌표를 16진수로 변환

N1:=x1|y1<<16

;PostMessage로 드래그 하기 위해선 이걸 해줘야한다. (c++버전 코드)

;LPARAM lparam;

;lparam = (HTRIGHT | (WM_NCMOUSEMOVE << 16))?


param := 11 | (0xA0 << 16)

PostMessage, %param%,, %N%,,%titlename%

if (nbutton = "왼쪽버튼") ; 왼쪽버튼

{

down = 0x201

up = 0x202

}

else ; 오른쪽 버튼

{

down = 0x204

up = 0x205

}

dragspeed = 15 ; 이걸로 드래그 속도를 정한다.?

PostMessage, %down%, , %N%, , %titlename% ; 왼쪽or오른쪽 버튼 누른 상태

if (direction = "오른쪽")

{

ncount := (x1 - x) // dragspeed

loop, %ncount%

{

nx := x + (A_Index * dragspeed)

N2:=nx|y<<16

PostMessage, 0X200, 1, %N2%, , %titlename% ; 마우스 이동

sleep, 1

}

}

else if (direction = "왼쪽")

{

ncount := (x - x1) // dragspeed

loop, %ncount%

{

nx := x - (A_Index * dragspeed)

N2:=nx|y<<16

PostMessage, 0X200, 1, %N2%, , %titlename% ; 마우스 이동

sleep, 1

}

}

else if (direction = "아래쪽")

{

ncount := (y1 - y) // dragspeed

loop, %ncount%

{

ny := y + (A_Index * dragspeed)

N2:=x|ny<<16

PostMessage, 0X200, 1, %N2%, , %titlename% ; 마우스 이동

sleep, 1

}

}

else if (direction = "위쪽")

{

ncount := (y - y1) // dragspeed

loop, %ncount%

{

ny := y - (A_Index * dragspeed)

N2:=x|ny<<16

PostMessage, 0X200, 1, %N2%, , %titlename% ; 마우스 이동

sleep, 1

}

}

PostMessage, %up%, , %N1%, , %titlename% ; 왼쪽or오른쪽 버튼 뗌

PostMessage, %param%,, %N1%, ,%titlename%

sleep, leavedelay

}




List of Articles
분류 제목 글쓴이 최근변경 추천
정보 타이머 샘플입니다. 3 모바게 2014.11.28 1/0
정보 List에 해당하는 GUI 팁 9 외치기 2015.08.24 2/0
정보 제작지원도구 5 따기따기 2014.12.12 2/0
정보 그리기 / DRAW / GDIP 화면에 선 도형 그리기 (예제) 3 따기따기 2014.12.12 0/0
정보 스크린샷 캡춰방법 (마지막이야기님 요청) 14 호로록뚝딱 2015.03.24 3/0
정보 오토핫키 Themida 패킹 하는법 6 파더 2015.03.10 2/0
정보 postmessage 질문이 와서 올립니다. (중복가능성) 12 생물 2015.01.01 2/0
정보 윈도우의 타이틀바, 보더 없애는 방법. 7 모바게 2014.12.23 0/0
정보 간단한 단축키 ~ 5 앞프론뒷태 2015.03.13 0/0
정보 소개 - Macro Creator (AHK 매크로 제작툴) 14 모바게 2015.08.28 0/0
정보 지니모션 안보이게 하고 매크로 동작 24 Works 2015.04.10 0/0
정보 도움이 될까 해서 올려봅니다 11 울버린 2015.01.02 1/0
정보 호성님 무한인증 뜨시는분 팁 4 우아아앙이잉 2015.01.06 1/0
정보 (안내) 글내용확인하시고 자삭하세요 27 snf 2015.02.23 0/0
정보 별이되어라 색값 보정 함수선언.. 2 로뎀나무 2015.03.26 1/0
정보 SMTP 메일보내기 13 모바게 2020.08.10 2/0
정보 지니모션 테마 및 윈도우 버전 상관없이 해상도 변경하... 로뎀나무 2015.01.16 2/0
정보 지니모션 드래그 함수 1 연구원 2015.01.21 1/0
정보 초보가 초보에게;; 핫키 사용법 8 악동주성 2016.09.03 4/0
정보 GUI - 파일(폴더) 목록을 DropDownList로 만들기 14 모바게 2016.06.13 3/0
Board Pagination Prev 1 23456 7 Next
/ 7

전체 최신 인기글

전체 주간 인기글