資源簡介
是一個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
- 上一篇:四種VC表格控件源碼
- 下一篇:C語言航空客運訂票系統(tǒng)
評論
共有 條評論