记得关注!
#include "stdafx.h"
#include "CCheckSK.h"
CCheckSK::CCheckSK()
{
m_bCheck = FALSE;
m_bMouseOver = FALSE;
m_nLedSize = 15;
// set default color to green on ON and dark-green on OFF
//m_colLedOn = RGB(0, 255, 0);
m_colLedOn = RGB(255, 200, 119);
//m_colLedOff = RGB(0, 127, 0);
m_colLedOff = RGB(225, 225,225);
m_hIconOn.hIcon = NULL;
m_hIconOff.hIcon = NULL;
m_tooltip.Create (this);
}
CCheckSK::~CCheckSK()
{
}
BEGIN_MESSAGE_MAP(CCheckSK, CButton)
//{{AFX_MSG_MAP(CCheckSK)
ON_WM_MOUSEMOVE()
ON_CONTROL_REFLECT(BN_CLICKED, OnClicked)
//}}AFX_MSG_MAP
ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave)
ON_MESSAGE(BM_SETCHECK, OnSetCheck)
ON_MESSAGE(BM_GETCHECK, OnGetCheck)
END_MESSAGE_MAP()
// ===========================================================================
// Set check status of control
// ===========================================================================
void
CCheckSK::SetCheck(BOOL bCheck, BOOL bRepaint)
{
m_bCheck = bCheck;
if (bRepaint) Invalidate();
}
// ===========================================================================
// Return check status of control
// ===========================================================================
BOOL
CCheckSK::GetCheck()
{
return m_bCheck;
}
// ===========================================================================
// Set Icon from resource ID
// ===========================================================================
DWORD
CCheckSK::SetIcon(int nIconOn, int nIconOff)
{
HICON hIconOn = NULL;
HICON hIconOff = NULL;
HINSTANCE hInstResource = NULL;
// Find correct resource handle
hInstResource = AfxFindResourceHandle ( MAKEINTRESOURCE(nIconOn),
RT_GROUP_ICON);
// Set icon when the mouse is IN the button
hIconOn = ::LoadIcon(hInstResource, MAKEINTRESOURCE(nIconOn));
hIconOff = ::LoadIcon(hInstResource, MAKEINTRESOURCE(nIconOff));
return SetIcon(hIconOn, hIconOff);
}
// ===========================================================================
// Set Icon from file
// ===================================================&