이것저것해보는데 잘안되네요 .. 프로그램안의 창이 계속움직이는 상황에서 프로그램창을 기준으로 마우스 클릭을 하고싶은데이미지서치로 하니 프로그램창의 안에 내용이 조금바뀌면 서치가 안되서 클릭이안되네요 . .프로그램 창을기준으로 마우스클릭을 따로할수가 있나요 ?? 비활성으로 해야하나요.. ?
마지막 줄의 '프로그램 창'이 사용하신 그림의 '프로그램 전체 창'인가요 '프로그램 안 창'인가요?
아 .. 프로그램창을 기준으로 프로그램안창을 왔다갔다해야하는데 일단 마우스클릭이 되어야하는 기준은 프로그램안의 창입니다!
MDI 구조에서 좌표가 어떻게 되는지 모르겠네요.
창이 별도로 잡힌다면(타이틀이나...) 메인 창과의 위치 계산을 통해 가능할것입니다.
창의 위치도 계속 움직여서 메인창과의 위치만 가지고 할수없지않을까요 . . ?
큰 창을 부모창, 작은 창을 자식창이라고 하겠습니다..
자식창의 좌표가 별도로 잡힌다면(ex: 전체 스크린에서의 절대좌표 등등)
부모창과의 좌표계산을 통해 자식창의 부모창을 기준으로 한 상대좌표를 구할 수 있겠지요.
예를 들어서 자식창의 좌표가 500, 500으로 잡힌다고 하고 이게 스크린 기준으로 잡혔다고 하고
부모창의 좌표는 100, 100이라고 하면 (역시 스크린 기준입니다.)
자식창의 부모창 내 좌표는 500 - 100, 500 - 100이 되겠지요.
무튼.. 자식창이 별도로 잡히지 않는다면 방법은 까다로울테고요, 저도 알아봐야겠습니다.
자식창이 이런식으로 엉뚱한 좌표라도 잡힌다면 산수를 통해서 해결할 수 있죠.
q::
{
wingetpos,x,y,w,h,외형수정
MouseClick, left, 150-%x% , 100-%y%
return
}
부모창 좌표가 150, 100에 잡힌다면 wingetpos로 좌표를잡아와서 하라는 말씀이시죠 ? ?
근데 만약에 wingetpos로 좌표가 잡히지않는 프로그램이면
다른창을가지고 wingetpos로하면 msgbox로 확인하면 잘뜨는데 제가 사용할프로그램만 좌표가안떠요 ㅠㅠ
일좀편하게 하고싶어서 연구중인데 잘안되네요 하하하하
어째서 안뜰까요. 타이틀이 다르거나? 그런 경우 아닐까요? 왜냐하면 WinGetPos로 좌표가 안잡힌다는건 그 창을 못찾았을 가능성이 제일 높거든요
제가 입력을 잘못했나봐요 다시하니 잘되네요 이걸로 기본삼아서 단축키 만들면 유용하게 쓸거같네요 감사합니다!!
댓글 달기