LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == WM_PAINT) {
PAINTSTRUCT ps;
HDC h_dc = BeginPaint(hWnd, &ps);
for (int i = 0; i < MAX_COUNT; i++) {
if (i == g_index) {
HGDIOBJ h_old_brush = SelectObject(h_dc, GetStockObject(BLACK_BRUSH));
Rectangle(h_dc, 0 + i * 100, 0, 101 + i * 100, 100);
SelectObject(h_dc, h_old_brush);
}
else {
Rectangle(h_dc, 0 + i * 100, 0, 101 + i * 100, 100);
}
}
EndPaint(hWnd, &ps);
return 0;
}
else if (uMsg == WM_LBUTTONDOWN) {
UINT x = LOWORD(lParam);
UINT y = HIWORD(lParam);
/*
if (x >= 0 && x < 100 && y >= 0 && y < 100) g_index = 0;
else if (x >= 100 && x < 200 && y >= 0 && y < 100) g_index = 1;
else if (x >= 200 && x < 300 && y >= 0 && y < 100) g_index = 2;
*/
// μ½λ κ°λ¨ν
if (y >= 0 && y < 100) {
if (x >= 0 && x < 100) g_index = 0;
else if (x < 200) g_index = 1;
else if (x < 300) g_index = 2;
}
InvalidateRect(hWnd, NULL, TRUE);
}
else if (uMsg == WM_DESTROY) PostQuitMessage(0);
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}