[code]
OnMouseOver
OnMouseOut
OnMousePress
OnMouseDown
OnMouseUp
등을 알수 있다.
m_bMouseOver : bool 형식에 멤버변수
* 중요 포인트 OnLButtonUp 에 ReleaseCapture(), OnMouseMove 에 SetCapture()
[/code]
void CButtonEx::OnLButtonDown(UINT nFlags, CPoint point)
{
m_bMouseOver = true;
DrawButton(ACTIVE_BUTTON);
Invalidate();
CButton::OnLButtonDown(nFlags, point);
}
void CButtonEx::OnLButtonUp(UINT nFlags, CPoint point)
{
ReleaseCapture();
m_bMouseOver = false;
DrawButton(NORMAL_BUTTON);
Invalidate();
CButton::OnLButtonUp(nFlags, point);
}
void CButtonEx::OnMouseMove(UINT nFlags, CPoint point)
{
// 마우스가 버튼 위치를 떠났을 때
if (rect.PtInRect(point) == false)
{
DrawButton(NORMAL_BUTTON);
Invalidate();
if (!m_bMouseOver)
{
ReleaseCapture();
}
}
else
{
if (m_bMouseOver)
{
// 마우스는 클릭한 상태에서 버튼 위치일 경우
DrawButton(ACTIVE_BUTTON);
Invalidate();
}
else
{
// 마우스는 클릭하지 않은 상태 에서의 버튼 위치 일 경우
DrawButton(OVER_BUTTON);
Invalidate();
}
SetCapture();
}
CButton::OnMouseMove(nFlags, point);
}
OnMouseOver
OnMouseOut
OnMousePress
OnMouseDown
OnMouseUp
등을 알수 있다.
m_bMouseOver : bool 형식에 멤버변수
* 중요 포인트 OnLButtonUp 에 ReleaseCapture(), OnMouseMove 에 SetCapture()
[/code]
void CButtonEx::OnLButtonDown(UINT nFlags, CPoint point)
{
m_bMouseOver = true;
DrawButton(ACTIVE_BUTTON);
Invalidate();
CButton::OnLButtonDown(nFlags, point);
}
void CButtonEx::OnLButtonUp(UINT nFlags, CPoint point)
{
ReleaseCapture();
m_bMouseOver = false;
DrawButton(NORMAL_BUTTON);
Invalidate();
CButton::OnLButtonUp(nFlags, point);
}
void CButtonEx::OnMouseMove(UINT nFlags, CPoint point)
{
// 마우스가 버튼 위치를 떠났을 때
if (rect.PtInRect(point) == false)
{
DrawButton(NORMAL_BUTTON);
Invalidate();
if (!m_bMouseOver)
{
ReleaseCapture();
}
}
else
{
if (m_bMouseOver)
{
// 마우스는 클릭한 상태에서 버튼 위치일 경우
DrawButton(ACTIVE_BUTTON);
Invalidate();
}
else
{
// 마우스는 클릭하지 않은 상태 에서의 버튼 위치 일 경우
DrawButton(OVER_BUTTON);
Invalidate();
}
SetCapture();
}
CButton::OnMouseMove(nFlags, point);
}
'Windows > MFC' 카테고리의 다른 글
XML using MFC (0) | 2013.10.02 |
---|---|
Exception class (0) | 2013.10.02 |
GDI+ Enumerations (MSDN Link) (0) | 2013.10.02 |
GDI+ Graphics Methods (MSDN Link) (0) | 2013.10.02 |
GDI+ MSDN Link (0) | 2013.10.02 |