API-스크린 좌표,클라이언트 좌표,윈도우 좌표

윈도우 API는  여러개의 좌표가 존재한다.

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


이 글을 공유하기

댓글

Designed by JB FACTORY