资源简介
自绘按钮,加载bmp图片,可以实现创建不规则的按钮(效果是)
代码片段和文件信息
/*******************************************************************************
* File Name : BmpButton.cpp
* Created : 2008-5-13
* Author : huzb
* Model :
* Description 可加载4张bmp图片,并根据图片创建不规则按钮的按钮类
* ---------------------------------------------------------------------------- *
* Revision History
* No Date Revised by Description
* -- ---- ---------- -----------
*******************************************************************************/
#include “stdafx.h“
#include “BmpButton.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBmpButton
CBmpButton::CBmpButton()
{
m_iMouseType = 0;
m_szText = CSize( 0 0 );
}
CBmpButton::~CBmpButton()
{
m_bmpNormal.Deleteobject();
m_bmpHot.Deleteobject();
m_bmpFocus.Deleteobject();
m_bmpDisable.Deleteobject();
m_TextFont.Deleteobject();
}
BEGIN_MESSAGE_MAP(CBmpButton CButton)
//{{AFX_MSG_MAP(CBmpButton)
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_MESSAGE( WM_MOUSELEAVE onmouseleave )
ON_WM_PAINT()
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBmpButton message handlers
// 设置按钮图片(正常状态下,鼠标移上,鼠标按下,按钮不可用4种状态)
void CBmpButton::SetTheBitmap( UINT iNormalID UINT iHotID UINT iFocusID UINT iDisableID )
{
if( iNormalID <= 0 || iHotID <= 0 || iFocusID <= 0 || iDisableID <= 0 )
{
return;
}
if( m_bmpNormal.m_hobject )
{
m_bmpNormal.Deleteobject();
}
if( m_bmpHot.m_hobject )
{
m_bmpHot.Deleteobject();
}
if( m_bmpFocus.m_hobject )
{
m_bmpFocus.Deleteobject();
}
if( m_bmpDisable.m_hobject )
{
m_bmpDisable.Deleteobject();
}
m_bmpNormal.LoadBitmap( iNormalID );
m_bmpHot.LoadBitmap( iHotID );
m_bmpFocus.LoadBitmap( iFocusID );
m_bmpDisable.LoadBitmap( iDisableID );
}
// 设置字体大小(因按钮的大小不一,所以提供了该函数,可以根据实际需要,设置字体的大小)
void CBmpButton::SetFontSize( int iSize )
{
int iFontSize = iSize;
if( iFontSize <= 0 )
{
iFontSize = 16;
}
if( m_TextFont.m_hobject )
{
m_TextFont.Deleteobject();
}
m_TextFont.CreateFont(
iFontSize
0
0
0
400
FALSE
FALSE
0
ANSI_CHARSET
OUT_DEFAULT_PRECIS
CLIP_DEFAULT_PRECIS
DEFAULT_QUALITY
DEFAULT_PITCH | FF_ROMAN
“黑体“
);
}
// 鼠标移动到按钮上
void CBmpButton::onmousemove(UINT nFlags CPoint point)
{
CButton::onmousemove(nFlags point);
if( 1 != m_iMouseType )
{
m_iMouseType = 1;
Invalidate( FALSE );
}
// 发送鼠标离开按钮的消息
TRACKMOUSEEVENT event ;
event.cbSize = sizeof( event );
event.dwFlags = TME_LEAVE ;
event.dwHoverTime = 0 ;
event.hwndTrack = GetSafeHwnd() ;
VERIFY( _TrackMouseEvent( &event ) ) ;
}
// 鼠标按下
void CBmpButton::OnLButtonDown(UINT nFlags CPoint point)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 32256 2008-05-13 19:16 CBmpButton使用.doc
文件 212152 2008-05-13 19:09 ButtonTest\ButtonTest.aps
文件 5885 2008-05-13 19:09 ButtonTest\ButtonTest.rc
文件 913 2008-05-13 18:25 ButtonTest\Resource.h
文件 2389 2008-05-13 18:37 ButtonTest\BmpButton.h
文件 7935 2008-05-13 18:37 ButtonTest\BmpButton.cpp
文件 1562 2008-05-13 16:07 ButtonTest\ButtonTestDlg.h
文件 1336 2008-05-13 19:19 ButtonTest\ButtonTest.clw
文件 3651 2008-05-13 10:00 ButtonTest\ReadMe.txt
文件 1368 2008-05-13 10:00 ButtonTest\ButtonTest.h
文件 2119 2008-05-13 10:00 ButtonTest\ButtonTest.cpp
文件 58368 2008-05-13 19:19 ButtonTest\ButtonTest.ncb
文件 54784 2008-05-13 19:19 ButtonTest\ButtonTest.opt
文件 1054 2008-05-13 10:00 ButtonTest\StdAfx.h
文件 212 2008-05-13 10:00 ButtonTest\StdAfx.cpp
文件 402 2008-05-13 10:00 ButtonTest\res\ButtonTest.rc2
文件 1078 2008-05-13 10:00 ButtonTest\res\ButtonTest.ico
文件 160374 2008-05-13 12:03 ButtonTest\res\DlgBg.bmp
文件 3896 2008-05-13 11:20 ButtonTest\res\01.bmp
文件 3896 2008-05-13 11:20 ButtonTest\res\02.bmp
文件 3896 2008-05-13 11:20 ButtonTest\res\03.bmp
文件 3896 2008-05-13 11:20 ButtonTest\res\04.bmp
文件 5178 2008-05-13 14:37 ButtonTest\ButtonTest.dsp
文件 4870 2008-05-13 19:07 ButtonTest\ButtonTestDlg.cpp
文件 389 2008-05-13 19:19 ButtonTest\ButtonTest.positions
文件 543 2008-05-13 10:00 ButtonTest\ButtonTest.dsw
文件 254 2008-05-13 19:09 ButtonTest\ButtonTest.plg
目录 0 2008-05-13 10:00 ButtonTest\res
目录 0 2008-05-13 10:00 ButtonTest
----------- --------- ---------- ----- ----
............此处省略2个文件信息
- 上一篇:linux扫雷游戏代码
- 下一篇:AJAX下载
相关资源
- RadioButton控件
- pb9下经过美化的按钮控件,图标按钮
- 基于V4L2的视频采集,能够采集YUVJPE
- AlCl3抑制大鼠骨形成及BMP/Smad信号转导
- 高含水油田不规则井网注采结构调整
- 不规则分层地层中电磁波透地传输的
- ORL_BMP.zip
- BMP位图文件解析
- 编程常用的素材(含png、jif、bmp、j
- jpeglib读取jpeg,转为bmp图,24真彩和灰
- 617张国内车牌60-17bmp图片用于OpenCV正样
- pEGFP-N1/BMP-2真核表达质粒的构建与鉴定
- 简单\“(8bit)Raw图像文件转换为(
- ORL人脸数据集,40个人,共400张bmp格式
- RGB565格式转BMP
- SwitchButton 开关按钮的多种实现方式源
- libmp3lame.a(3.100)静态库for iOS支持真
- NORDIC DFU移植
- 工具盒类+进度条+调色板+电子钟+可拓
- RATA Raster (BMP) To Allegro (IPF)
- 批量快速将多张bmp图片合并转换为b
- BMP图片读写,24位输入转换成8位输出
- AES加密BMP图片
- authorware拼图游戏带计时和不规则图片
- yuvtools_v2
- DICOM Explorer
- 数字图像处理测试BMP/JPG图片,图片为
- stm32图片解码
- stm32+JPEG+bmp+RM04_WIFI+二值图像.rar
- BMP2MifCoeHex
评论
共有 条评论