2025-11-27 16:46:48 +09:00

130 lines
2.5 KiB
C++

// MyStatic.cpp : implementation file
//
#include "stdafx.h"
#include "SoundManager.h"
#include "MyStatic.h"
#include "OXHookWnd.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMyStatic
CMyStatic::CMyStatic()
{
m_bPressedDown=FALSE;
}
CMyStatic::~CMyStatic()
{
}
BEGIN_MESSAGE_MAP(CMyStatic, COXStaticText)
//{{AFX_MSG_MAP(CMyStatic)
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
//}}AFX_MSG_MAP
ON_MESSAGE(HWM_MOUSEENTER, OnMouseEnter)
ON_MESSAGE(HWM_MOUSELEAVE, OnMouseLeave)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyStatic message handlers
LONG CMyStatic::OnMouseEnter(WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(wParam);
UNREFERENCED_PARAMETER(lParam);
CWnd* pParentWnd=GetParent();
ASSERT(pParentWnd);
CRect rect;
GetWindowRect(rect);
rect.OffsetRect(-1,-1);
pParentWnd->ScreenToClient(rect);
MoveWindow(rect);
SetTextColor(RGB(192,0,0),TRUE);
return (LONG)0;
}
LONG CMyStatic::OnMouseLeave(WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(wParam);
UNREFERENCED_PARAMETER(lParam);
CWnd* pParentWnd=GetParent();
ASSERT(pParentWnd);
CRect rect;
GetWindowRect(rect);
if(m_bPressedDown)
{
rect.OffsetRect(-1,-1);
m_bPressedDown=FALSE;
}
else
rect.OffsetRect(1,1);
pParentWnd->ScreenToClient(rect);
MoveWindow(rect);
SetTextColor(::GetSysColor(COLOR_BTNTEXT),TRUE);
return (LONG)0;
}
void CMyStatic::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CWnd* pParentWnd=GetParent();
ASSERT(pParentWnd);
CRect rect;
GetWindowRect(rect);
rect.OffsetRect(2,2);
pParentWnd->ScreenToClient(rect);
MoveWindow(rect);
m_bPressedDown=TRUE;
COXStaticText::OnLButtonDown(nFlags, point);
}
void CMyStatic::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(m_bPressedDown)
{
CWnd* pParentWnd=GetParent();
ASSERT(pParentWnd);
CRect rect;
GetWindowRect(rect);
rect.OffsetRect(-2,-2);
pParentWnd->ScreenToClient(rect);
MoveWindow(rect);
CWnd* pWnd=GetParent();
if(pWnd)
{
CString sText;
GetWindowText(sText);
if(sText==_T("Customize"))
pWnd->PostMessage(WM_APP_CUSTOMIZE);
else if(sText==_T("Exit"))
pWnd->PostMessage(WM_APP_CLOSE);
}
m_bPressedDown=FALSE;
}
COXStaticText::OnLButtonUp(nFlags, point);
}