mfc_poly_1 - 8BitsCoding/RobotMentor GitHub Wiki
μ°μλ λ€λͺ¨ λν μ€ νλλ₯Ό μ ννλ©΄ μμμ λ³κ²½νκ³ μΆλ€.
// Dlg.h
CBrush m_select_brush, m_unselect_brush;
CPen m_select_pen, m_unselect_pen;
int m_index = -1; // 0 ~ 5
void CMFCApplication1Dlg::OnLButtonDown(UINT nFlags, CPoint point)
{
if (point.y < 100) {
/*
m_index = -1;
for (int i = 0; i < 6; i++) {
if (point.x < 100 + i * 100) {
m_index = i;
break;
}
}
*/
// μ½λλ₯Ό κ°λ¨ν
m_index = point.x / 100;
if (m_index >= 6) m_index = -1;
Invalidate(TRUE);
}
CDialogEx::OnLButtonDown(nFlags, point);
}
void CMFCApplication1Dlg::OnPaint()
{
CPaintDC dc(this); // 그리기λ₯Ό μν λλ°μ΄μ€ 컨ν
μ€νΈμ
λλ€.
if (IsIconic())
{
// ...
}
else
{
CBrush * p_old_brush = dc.SelectObject(&m_unselect_brush);
CPen * p_old_pen = dc.SelectObject(&m_unselect_pen);
for (int i = 0; i < 6; i++) {
dc.Rectangle(i*100, 0, 101+i*100, 100);
}
if (m_index != -1) {
dc.SelectObject(&m_select_brush);
dc.SelectObject(&m_select_pen);
dc.Rectangle(m_index * 100, 0, 101 + m_index * 100, 100);
}
dc.SelectObject(p_old_brush);
dc.SelectObject(p_old_pen);
// CDialogEx::OnPaint();
}
}