API-스크린 좌표,클라이언트 좌표,윈도우 좌표
- 프로그래밍/WindowsAPI
- 2011. 5. 31. 12:03
윈도우 API는 여러개의 좌표가 존재한다.
더 좋은 참고자료: http://blog.naver.com/ppmmjj83?Redirect=Log&logNo=50101231595
1. 좌표계를 이해
1) 스크린 좌표계
2) 윈도우 좌표계
3) 클라이언트 좌표계
2. 스크린좌표 <-> 클라이언트좌표 변환 함수
- ClinetToScreen | ScreenToClient ( 두개 외에 나머지 함수 만들기 )
void WindowToScreen(HWND hwnd, POINT* Point)
{
RECT Rect;
GetWindowRect( hwnd, &Rect );
Point->x = Point->x + Rect.left;
Point->y = Point->y + Rect.top;
}
void ScreenToWindow(HWND hwnd, POINT* Point)
{
RECT Rect;
GetWindowRect( hwnd, &Rect );
Point->x = Point->x - Rect.left;
Point->y = Point->y - Rect.top;
}
void WindowToClient(HWND hwnd, POINT* Point)
{
WindowToScreen( hwnd, Point );
ScreenToClient( hwnd, Point );
}
void ClientToWindow(HWND hwnd, POINT* Point)
{
ClientToScreen( hwnd, Point );
ScreenToWindow( hwnd, Point );
}
더 좋은 참고자료: http://blog.naver.com/ppmmjj83?Redirect=Log&logNo=50101231595
이 글을 공유하기