Programming Language/Windows API
keyboard[1]
1. 키보드 입력 시 동작
void inirect(RECT *rect) {
rect->left = 200;
rect->top = 200;
rect->right = 400;
rect->bottom = 400;
}
void myini(HDC hdc, RECT *rect) {
TCHAR tmp[80];
_stprintf_s(tmp, _T("아무키나 입력하세요. "));
TextOut(hdc, 100, 10, tmp, _tcslen(tmp));
//DrawText(hdc, tmp, _tcslen(tmp), rect, DT_LEFT);
}
void myinput(HDC hdc, RECT *rect) {
TCHAR tmp[80];
_stprintf_s(tmp, _T("짜잔!!! "));
TextOut(hdc, 100, 10, tmp, _tcslen(tmp));
//DrawText(hdc, str, _tcslen(str), rect, DT_CENTER);
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
PAINTSTRUCT ps;
HDC hdc;
RECT rect;
case WM_COMMAND:
{
int wmId = LOWORD(wParam);
// 메뉴 선택을 구문 분석합니다.
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
}
break;
case WM_CREATE:
{
inirect(&rect);
}
break;
case WM_CHAR:
{
hdc = GetDC(hWnd);
myinput(hdc, &rect);
ReleaseDC(hWnd, hdc);
}
break;
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
inirect(&rect);
myini(hdc, &rect);
EndPaint(hWnd, &ps);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
[실행화면]
->
'Programming Language > Windows API' 카테고리의 다른 글
| keyboard[3] (0) | 2018.08.27 |
|---|---|
| keyboard[2] (0) | 2018.08.27 |
| 키보드 메세지 처리 (0) | 2018.08.26 |
| TextOut(), DrawText() (0) | 2018.08.26 |
| 기본구조 상세설명 (0) | 2018.08.25 |
댓글