2 1 HDC hdc PAINTSTRUCT ps switch i Slides: 46 Download presentation 2 -1 출력할 영역 얻어오기 HDC hdc ; PAINTSTRUCT ps ; switch (i. Msg) { case WM_CREATE: break; case WM_PAINT: hdc = Begin. Paint (hwnd, &ps) ; Text. Out(hdc, 0, 0, ”Hello. World”, 10); End. Paint (hwnd, &ps) ; break; case WM_DESTROY: Post. Quit. Message (0) ; break; } 7/211 박스영역에 텍스트 출력 함수 • int Draw. Text( HDC hdc, LPCSTR lp. String, int n. Length, LPRECT lp. Rect, // 문자열 사각형 구조체 UINT Flags ); 11/211 박스영역 typedef struct tag. RECT { LONG left; // x 1 LONG top; // y 1 LONG right; // x 2 LONG bottom; // y 2 (x 1, y 1) } RECT; (x 2, y 2) 12/211 2 -2 Draw. Text() 사용 예 HDC hdc ; PAINTSTRUCT ps ; RECT rect; switch (i. Msg) { case WM_CREATE : break ; case WM_PAINT : hdc = Begin. Paint (hwnd, &ps) ; rect. left = 50; // 사각형 정의 rect. top = 70; rect. right = 500; rect. bottom = 400; Draw. Text(hdc, "Hello. World", 10, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); // 한 라인, 수직/수평 중앙 End. Paint (hwnd, &ps) ; break ; 13/211 2 -3 키보드 눌렀을 때 출력처리 HDC hdc ; PAINTSTRUCT ps ; switch (i. Msg) { case WM_CREATE: break; case WM_KEYDOWN: // 어떤 키라도 누르면 처리 hdc = Get. DC(hwnd); Text. Out(hdc, 0, 0, ”Hello. World”, 10); Release. DC(hwnd, hdc); break; case WM_DESTROY: Post. Quit. Message (0) ; break; } 16/211 입력된 한 문자 출력 HDC hdc ; PAINTSTRUCT ps ; char str[100]; switch (i. Msg) { case WM_CREATE : return 0 ; case WM_CHAR: hdc = Get. DC(hwnd); str[0] = w. Param; // 입력문자 : : Win. Proc의 매개변수로 들어 옴 str[1] = '