오토핫키 커뮤니티

정보
2015.01.16 22:06

지니모션 드래그 함수

조회 수 515 추천 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
분류 제목 글쓴이 최근변경 추천
정보 지니모션 드래그 함수 1 연구원 2015.01.21 1/0
질문 오토핫키좀 배워보려합니다 6 PMS 2015.01.23 0/0
질문 아래 글에 이어 이미지서치 질문드려요~ ㅠㅠ 13 시니짱 2015.01.17 0/0
질문 이미지서치 관련 질문드립니다 ㅠㅠ 제발등업좀2 2015.01.16 0/0
정보 지니모션 테마 및 윈도우 버전 상관없이 해상도 변경하... 로뎀나무 2015.01.16 2/0
자유 이미지서치의 인식률 값 관련 질문 2 Hangoon 2015.01.16 0/0
질문 이미지서치와 해상도 변경에 대해서.. 3 시나브로 2015.01.15 0/0
질문 스크립트 편집 뭐로 하세요? 17 시나브로 2015.01.18 0/0
질문 컴파일된 프로그램의 트레이 아이콘 2 Hangoon 2015.01.15 0/0
질문 키를 눌러서 영지선택후 나중에 자동입장??(고수님 답... 9 여우블록 2015.01.22 0/0
질문 이미지 서치가 안되네요! 13 시니짱 2015.09.23 0/0
질문 오핫키로 모비즌 창위치 옮길수 잇나요?? 1 크농 2015.01.14 0/0
자유 오토핫키 비활성 터치 참 어렵군요 14 Hangoon 2015.04.14 0/0
정보 SMTP 메일보내기 13 모바게 2020.08.10 2/0
질문 함수와 변수 질문 18 Hangoon 2015.01.16 0/0
질문 오토핫키로 문자나 email전송이 가능한가요? 3 Hangoon 2015.01.23 0/0
질문 지니모션에서 드래그 기능 쓰시는분???? 27 안호성 2015.08.27 0/0
자유 오토핫키 블로그를 이용한 하드 인증방법 9 캔디염 2017.10.31 0/0
질문 모바게님 비활성 함수 질문 5 시나브로 2015.01.13 0/0
질문 태크 및 스킬 문의좀 할게요 2 하지마라공 2015.01.13 0/0
Board Pagination Prev 1 ... 189190191192193194195196197 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글