#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE g_hInst;
LPCTSTR lpszClass = TEXT("MyTimer");
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevinstace, LPSTR lpszCmdParam, int nCmdShow)
{
HWND hWnd;
MSG Message;
WNDCLASS WndClass;
g_hInst = hInstance;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hIc IDI_APPLICATION);
WndClass.hInstance - hInstance;
WndClass.lpfnWndProc = WndProc;
WndClass.lpszClassName = NULL;
WndClass.lpszMenuName = NULL;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);
hWnd = CreateWindow(lpszClass, lpszClass, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(hWnd, nCmdShow);
while(GetMessage(&Message, NULL, 0, 0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return (int)Message.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
SYSTEMTIME st;
static TCHAR sTime[128];
switch(iMessage)
{
case WM_CREATE:
SetTimer(hWnd, 1, 1000, NULL);
return 0;
case WM_TIMER:
GetLocalTime(&st);
wsprintf(sTime, TEXT("지금 시간은 %d:%d:%d 입니다."), st.wHour, st.wMinute, st.wSecond);
InvalidateRect(hWnd, NULL, TRUE);
return 0;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
TextOut(hdc, 100, 100, sTime, lstrlen(sTime));
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
KillTimer(hWnd, 1);
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd, iMessage, wParam, lParam));
}
오류는 하나도 안뜨는데 실행이 안됨
책 예제 그대로 보고 쓴거라 주석은 못달겠고
원래 실행 결과는 흰 윈도우 창에 그냥 지금 시간은 몇시입니다 하고 뜨는건데
실행파일도 만들어지는데 아예 실행이 안됨 왜이럼?
님아 책 이름 좀...
저도 배워야해서
윈도우즈 API 정복이라고 도서관에서 빌린거
wm_paint 에 걸려야하니까.. 흠 창을 이동해보셔
아... 절판.. 빌려야겠네요. 도서관.
뭔가 하고 받았더니 예제 소스였네 ㄳㄳ
와나 다른값 들어가는데다 NULL넣어놨었네