• 大小: 27.52 KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-07-29
  • 语言: 其他
  • 标签:

资源简介

自绘的单选按钮<br>提供了一个简单的实现,自带单选位图。有鼠标滑过响应。

资源截图

代码片段和文件信息

// CustomButton.cpp: implementation of the CCustomButton class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “CustomButton.h“

#include “colors.h“

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
BYTE CCustomButton::m_cMarkMono[] = 
{
0x00 0x00 0x00 0x00 0x00 0x00 0x01
0x00 0x00 0x00 0x00 0x00 0x01 0x01
0x01 0x00 0x00 0x00 0x01 0x01 0x01
0x01 0x01 0x00 0x01 0x01 0x01 0x00
0x01 0x01 0x01 0x01 0x01 0x00 0x00
0x00 0x01 0x01 0x01 0x00 0x00 0x00
0x00 0x00 0x01 0x00 0x00 0x00 0x00
};

CCustomButton::CCustomButton()
{
m_crBack = XD_COLOR_VIEW_BK;
m_crBorder = XD_COLOR_BORDER;
m_crHot = XD_COLOR_HOT;
m_crLight = XD_COLOR_WHITE;
m_crGrey = XD_COLOR_GREY;
m_crText = XD_COLOR_BLACK;

m_bBmpBack = FALSE;
m_bTracking = FALSE;
m_bMouseOver = FALSE;
m_bFocused = FALSE;
m_bPressed = FALSE;
m_bChecked = FALSE;
m_bDisabled = FALSE;
m_bAlwaysTrack = FALSE;
m_bBitmap = FALSE;
m_nButtonstyle = BS_PUSHBUTTON;
m_nFocusRectMargin = 1;
}

CCustomButton::~CCustomButton()
{

}

IMPLEMENT_DYNAMIC(CCustomButton CButton)

BEGIN_MESSAGE_MAP(CCustomButton CButton)
//{{AFX_MSG_MAP(CCustomButton)
ON_WM_KEYDOWN()
ON_WM_ERASEBKGND()
ON_WM_PAINT()
ON_WM_KILLFOCUS()
ON_WM_SETFOCUS()
ON_WM_MOUSEMOVE()
ON_WM_ACTIVATE()
ON_WM_ENABLE()
ON_WM_CANCELMODE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_LBUTTONDBLCLK()
ON_WM_CTLCOLOR_REFLECT()
//}}AFX_MSG_MAP
ON_MESSAGE(BM_SETCHECK OnSetCheck)
ON_MESSAGE(BM_GETCHECK OnGetCheck)
ON_MESSAGE(BM_SETstyle OnSetstyle)
ON_MESSAGE(WM_MOUSELEAVE onmouseleave)
ON_MESSAGE(WM_CUSTOM_SETCHECK OnCustomSetCheck)
END_MESSAGE_MAP()

void CCustomButton::PreSubclassWindow() 
{
m_nButtonstyle = GetButtonstyle();

if(m_nButtonstyle == BS_AUTOCHECKBOX || m_nButtonstyle == (BS_AUTOCHECKBOX | BS_CHECKBOX))
m_nButtonstyle = BS_CHECKBOX;
else if(m_nButtonstyle == BS_AUTORADIOBUTTON || m_nButtonstyle == (BS_AUTORADIOBUTTON | BS_RADIOBUTTON))
m_nButtonstyle = BS_RADIOBUTTON;
else 
m_nButtonstyle = BS_PUSHBUTTON;

m_bChecked = CButton::GetCheck(); // 初始化m_bChecked 在实际应用时,可能之类化前已经SetCheck过。

CButton::PreSubclassWindow();
Modifystyle(0 BS_OWNERDRAW);
}

BOOL CCustomButton::OnEraseBkgnd(CDC* pDC) 
{
return TRUE; 
}


HBRUSH CCustomButton::CtlColor(CDC* pDC UINT nCtlColor)
{
return (HBRUSH)::GetStockobject(NULL_BRUSH);
}

void CCustomButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
    ASSERT (lpDrawItemStruct);

DrawFlatButton(lpDrawItemStruct);
}

LRESULT CCustomButton::DefWindowProc(UINT message WPARAM wParam LPARAM lParam) 
{
if (message == WM_LBUTTONDBLCLK)
{
message = WM_LBUTTONDOWN;
}
return CButton::DefWindowProc(message wParam lParam);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     目录          0  2008-01-24 11:01  res

     文件        696  2007-12-26 14:43  res\PIC_RADIOBUTTON_DEMO.exe.manifest

     文件       1078  2007-12-25 10:21  res\PIC_RADIOBUTTON_DEMO.ico

     文件        412  2007-12-25 10:21  res\PIC_RADIOBUTTON_DEMO.rc2

     文件       4412  2007-12-27 10:27  res\Raido_button.bmp

     文件       3400  2007-12-04 10:41  Colors.h

     文件      13187  2008-01-02 11:08  CustomButton.cpp

     文件       2729  2008-01-02 15:00  CustomButton.h

     文件       2259  2007-12-25 10:21  PIC_RADIOBUTTON_DEMO.cpp

     文件       4788  2008-01-02 17:04  PIC_RADIOBUTTON_DEMO.dsp

     文件        563  2007-12-25 10:21  PIC_RADIOBUTTON_DEMO.dsw

     文件       1478  2007-12-25 10:21  PIC_RADIOBUTTON_DEMO.h

     文件       7160  2008-01-07 16:53  PIC_RADIOBUTTON_DEMO.rc

     文件       6294  2008-01-25 13:26  PIC_RADIOBUTTON_DEMODlg.cpp

     文件       2085  2008-01-07 16:42  PIC_RADIOBUTTON_DEMODlg.h

     文件       1151  2007-12-29 16:34  RadioButtonEx.cpp

     文件       1212  2007-12-29 16:34  RadioButtonEx.h

     文件       1663  2008-01-07 16:53  resource.h

     文件        222  2007-12-25 10:21  StdAfx.cpp

     文件       1054  2007-12-25 10:21  StdAfx.h

     目录          0  2008-01-25 13:39  src

     文件      13109  2008-01-25 13:38  src\DibRadioButton.cpp

     文件       4957  2008-01-25 13:39  src\DibRadioButton.h

     文件       4412  2008-01-07 10:45  src\Raido_button.bmp

     文件        748  2008-01-08 14:19  src\使用说明.txt

----------- ---------  ---------- -----  ----

                79069                    25


评论

共有 条评论

相关资源