Programming/C

[Win32] 마우스 커서를 클라이언트 영역에 고정하기 - ClipCursor

tavris 2017. 10. 30. 00:46

마우스 커서를 클라이언트 영역에 고정하기 - ClipCursor



마우스 커서가 클라이언트의 영역 밖으로 나가지 못하게 할 때 Win32 API ClipCursor(RECT &)를 사용하면됩니다.

RECT & 위치의 인자값은 POINT의 좌표가 아닌, 윈도우상의 좌표입니다.

좌표를 변환하기 위해 ClientToScreen(Handler, POINT &)를 사용하여 변환 합니다.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
RECT rc;
POINT p1, p2;
 
GetClientRect(WindowHandle, &rc2);    // 클라이언트 크기
 
// 클라이언트 크기를 좌표로 변환
p1.x = rc.left;
p1.y = rc.top;
p2.x = rc.right;
p2.y = rc.bottom;
 
// 클라이언트 크기를 스크린 크기로 변환
ClientToScreen(WindowHandle, &p1);
ClientToScreen(WindowHandle, &p2);
 
rc.left = p1.x;
rc.top = p1.y;
rc.right = p2.x;
rc.bottom = p2.y;
 
//해당 좌표를 기준으로 커서를 고정
ClipCursor(&rc);
cs




'Programming > C' 카테고리의 다른 글

[MFC] 프로그램 배포하기  (0) 2016.08.09