• 大小: 5KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: C/C++
  • 标签: MFC  checkbox  自绘  

资源简介

是一个MFC 的checkBox的自绘代码,对初次接触自绘控件的朋友来说应该是很有帮助的。

资源截图

代码片段和文件信息

#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_colLedOff = RGB(0 127 0);

    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
//  ===========================================================================
DWORD
CCheckSK::SetIcon(LPCTSTR lpszFileNameIn LPCTSTR lpszFileNameOut)
{
    HICON hIconOn   = NULL;
    HICON hIconOff  = NULL;

    hIconOn  = (HICON)::LoadImage ( 0 lpszFileNameIn  IMAGE_ICON 0 0 
                                    LR_LOADFROMFILE);
    hIconOff = (HICON)::LoadImage ( 0 lpszFileNameOut IMAGE_ICON 0 0
                                    LR_LOADFROMFILE);

    return SetIcon(hIconOn hIconOff);
}

//  ===========================================================================
//  Set bitmap from handle to open bitmap. This is ultimtely called by the 
//  SetIcon for file and resource ID
//  ===========================================================================
DWORD
CCheckSK:

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       17787  2003-08-12 15:03  CCheckSK.cpp
     文件        4662  2003-08-12 13:42  CCheckSK.h

评论

共有 条评论