buttoncolor.cpp
来自「利用MFC类,设计了一个颜色拾取按钮」· C++ 代码 · 共 82 行
CPP
82 行
/*
* Copyright 2007, cgsir.com, Inc.
* 作者:李英江
* 日期:2007.12
* 修改:
* 说明:颜色拾取
*/
// ButtonColor.cpp : implementation file
//
#include "stdafx.h"
#include "TestBC.h"
#include "ButtonColor.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CButtonColor
CButtonColor::CButtonColor()
{
m_bgColor = RGB(255, 0, 0);
}
CButtonColor::~CButtonColor()
{
}
BEGIN_MESSAGE_MAP(CButtonColor, CButton)
//{{AFX_MSG_MAP(CButtonColor)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CButtonColor message handlers
void CButtonColor::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// TODO: Add your code to draw the specified item
CDC *pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
// 画按钮背景色
CBrush cb;
cb.CreateSolidBrush(GetBGColor());
CRect rc= lpDrawItemStruct->rcItem;
pDC->FillRect(&rc, &cb);
// 画按钮边框
CBrush cbFrame;
cbFrame.CreateSolidBrush(RGB(255,255,255));
pDC->FrameRect(&rc, &cbFrame);
}
COLORREF CButtonColor::GetBGColor()
{
return m_bgColor;
}
BOOL CButtonColor::Attach(const UINT nID, CWnd *pParent, COLORREF bgColor)
{
if (!SubclassDlgItem(nID, pParent)) {
return FALSE;
}
m_bgColor = bgColor;
return TRUE;
}
BOOL CButtonColor::SetBGColor(COLORREF bgColor)
{
m_bgColor = bgColor;
InvalidateRect(NULL);
return TRUE;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?