C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[37265] Re:마우스가 영역 안에서 눌러졌는지 체크하는 방법.
둘리 [dooly386] 981 읽음    2004-09-14 21:31
영역의 모양에 따라 다르겠죠..
좌표계에도 영향을 받고요.
Draw 로 그래는 내용들이 모두 윈도우 좌표계를 쓰는지 아니면
자신의 변환 좌표계를 쓰는지를 따져 봐야 겠지요..

일단
영역 안에 있는지 밖에 있는지를 검사하는 방법은 여러가지가 있습니다.
1.수치계산적인 방법
2. Region 을 만들어 point in region 의 기능을 쓰는 방법

1번이야 해당 객체의 좌표(사각형이면 좌,우,위,아래 좌표가 있겠죠)
x,y 를 사각형 x1,y1 - x2,y2 영역 안이 있는지 밖에 있는지는 검사는 쉽죠.
x 가 x1 보다 작으면(이경우 x1<x2 인 경우 입니다) 밖이고
x 가 x2 보다 크면 밖이죠.
y 가 y1 보다 작으면 밖이고
y 가 y2 보다 크면 밖이죠.

위의 모든경우가 아니면 x,y 는 사각형 (x1,y1)-(x2,y2) 의 내부에 있는 것이죠.. 물론 태두리 포함해서요.

2번은 WindowsAPI 에 CreateRegion 하는 함수가 있습니다.
여기서 만들어지는 Region 에 point x,y 가 있는지 아닌지 검사하는것이 WindowsAPI 에 있습니다.
PointInRegion 인가 뭔가 기억은 잘 않나지만요. Help 로 Windows API 의 Region 관련 찾으시면 바로
찾으실 수 있습니다.



잠스터 님이 쓰신 글 :
: 제목 그대로구요..
: 마우스 다운 이벤트를 받아서 마우스의 X,Y 좌표값이 어느 영역 안에 들어왔는지
: 어떤식으로 확인할 수 있지요?
: 미리 정의된 함수같은건 없는지요..
: 위에 말한 영역이란 Draw 함수로 그린 Rectangle 같은 검니다...
: 읽어주셔서 감사합니다..

+ -

관련 글 리스트
37261 마우스가 영역 안에서 눌러졌는지 체크하는 방법. 잠스터 851 2004/09/14
37265     Re:마우스가 영역 안에서 눌러졌는지 체크하는 방법. 둘리 981 2004/09/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.