*GetWindowRect
;윈도우 영역의 좌표를 얻는 함수.
// RECT 구조체.
typedef struct tagRECT
{
LONG left; // 왼쪽 상단 x
LONG top; // 왼쪽 상단 y
LONG right; // 오른쪽 하단 x
LONG bottom; // 오른쪽 하단 y
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
// 윈도우 영역에 대한 좌표 구하기.
LPRECT rect = NULL;
GetWindowRect(hWnd, rect);
|
cs |
*GetClientRect
;현재 윈도우의 클라이언트 영역의 좌표를 얻는 함수. 개별 윈도우를 위한 상대적인 좌표계.
상단 캡션(타이틀바)을 제외한 영역.
// 현재 윈도우의 클라이언트 영역 좌표 구하기.
// 클라이언트 좌표계는 (left, top)이 항상 (0, 0)이다.
LPRECT rect = NULL;
GetClientRect(hWnd, rect);
|
cs |
[참고] https://blog.naver.com/tipsware/220974096116
*마우스 클릭한 위치에 사각형 그리기
// 사용자가 메시지를 처리하는 함수.
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC h_dc = ::GetDC(hWnd);
int x, y;
switch (message)
{
case WM_LBUTTONDOWN:
// 마우스 클릭한 위치에 사각형 그리기.
x = LOWORD(lParam); // 하위 16비트 값 분리.
y = HIWORD(lParam); // 상위 16비트 값 분리.
Rectangle(h_dc, x, y, x + 100, y + 100);
ReleaseDC(hWnd, h_dc);
break;
case WM_DESTROY:
// 프로그램 종료
PostQuitMessage(0);
break;
default:
// 자신이 처리하지 않는 메시지들의 기본 작업을 대신 처리해주는 함수.
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
|
cs |
'::public > 윈도우즈 응용 프로그래밍' 카테고리의 다른 글
Bitmap 복사 (0) | 2019.09.24 |
---|---|
WinProc(윈드 프록) (0) | 2019.09.23 |
GDI(Graphics Device Interface) (0) | 2019.09.23 |
CreateBitmap / CreateCompatibleBitmap (0) | 2019.09.23 |
Windows API (0) | 2019.09.23 |