资源简介
bmp位图透明贴图,可以在窗口,图案,等上实现类似png的透明效果,代码简单,希望和大家一起学习好的东西,
代码片段和文件信息
// KbcBmp.cpp : implementation file
//
#include “stdafx.h“
#include “KbcBmp.h“
#include “resource.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CKbcBmp
IMPLEMENT_DYNCREATE(CKbcBmp CView)
CKbcBmp::CKbcBmp()
{
}
CKbcBmp::~CKbcBmp()
{
}
BEGIN_MESSAGE_MAP(CKbcBmp CView)
//{{AFX_MSG_MAP(CKbcBmp)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CKbcBmp drawing
void CKbcBmp::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CKbcBmp diagnostics
#ifdef _DEBUG
void CKbcBmp::AssertValid() const
{
CView::AssertValid();
}
void CKbcBmp::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CKbcBmp message handlers
//
void CKbcBmp::LoadBitmap(CString strFileName)
{
m_picImg.Load(strFileName);
m_nWidth = m_picImg.m_Width;
m_nHeight = m_picImg.m_Height;
m_nSliceWidth = m_nWidth/4;
}
// CKbcBmpButton 俊辑 龋免且 锭 静绰 窃荐.. 弊覆 匙厘捞 楷加利栏肺 嘿篮 巴阑 弊妨霖促.nSeq俊 蝶扼..
void CKbcBmp::Draw(CDC *pDCint nSeqint nXint nYUINT nMask)
{
UINT BLACK = RGB(000);
UINT WHITE = RGB(255255255);
UINT BMPWIDTH = m_nWidth;
UINT BMPHEIGHT = m_nHeight;
UINT MASK = nMask;
UINT SLICEWIDTH = m_nSliceWidth;
UINT INTERVAL = SLICEWIDTH * nSeq;
CDC oriDC;
CDC srcDC;
CDC maskDC;
CDC memDC;
CBitmap oriBmp;
CBitmap srcBmp;
CBitmap maskBmp;
CBitmap memBmp;
CBitmap *pOldoriDC;
CBitmap *pOldsrcDC;
CBitmap *pOldmaskDC;
CBitmap *pOldmemDC;
// we draw whole button image to oriDC.
oriDC.CreateCompatibleDC(pDC);
oriBmp.CreateCompatibleBitmap(pDCm_nWidthm_nHeight);
pOldoriDC = oriDC.Selectobject(&oriBmp);
m_picImg.Show(&oriDCCRect(00m_nWidthm_nHeight));
//////////////////////////////////////////////////////
// then copy 1/4 button image to srcDC.
// if user wanna draw disable button then copy fourth image of oriDC to srcDC.
srcDC.CreateCompatibleDC(pDC);
srcBmp.CreateCompatibleBitmap(pDCSLICEWIDTHBMPHEIGHT);
pOldsrcDC = srcDC.Selectobject(&srcBmp);
srcDC.BitBlt(00SLICEWIDTHBMPHEIGHT&oriDCINTERVAL0SRCCOPY);
//////////////////////////////////////////////////////
// make maskDC
// mask image made by black and white.
// black region is we wanna draw white region is we don‘t wanna draw.
maskDC.CreateCompatibleDC(pDC);
maskBmp.CreateBitmap(SLICEWIDTHBMPHEIGHT11NULL);
pOldmaskDC = maskDC.Selectobject(&maskBmp);
srcDC.SetBkColor(MASK);
maskDC.BitBlt(00SLICEWIDTHBMPHEIGHT&srcDC00SRC
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 57563 2004-10-31 22:23 位图透明贴图\bg.jpg
文件 4174 2004-10-31 22:10 位图透明贴图\KbcBmp.cpp
文件 1770 2004-10-31 21:33 位图透明贴图\KbcBmp.h
文件 4344 2004-10-31 22:29 位图透明贴图\KbcButton.cpp
文件 2728 2004-10-31 22:49 位图透明贴图\KbcButton.h
文件 21407 2001-09-04 20:52 位图透明贴图\Picture.cpp
文件 1560 2001-09-04 20:53 位图透明贴图\Picture.h
文件 22244 2004-10-31 20:59 位图透明贴图\play.bmp
文件 3651 2003-07-30 16:11 位图透明贴图\ReadMe.txt
文件 917 2004-10-31 20:43 位图透明贴图\resource.h
文件 326 2003-07-31 14:31 位图透明贴图\res\cursor1.cur
文件 1078 2003-07-30 16:11 位图透明贴图\res\TestButton.ico
文件 402 2003-07-30 16:11 位图透明贴图\res\TestButton.rc2
文件 5093 2004-10-31 20:21 位图透明贴图\show.gif
文件 212 2003-07-30 16:11 位图透明贴图\StdAfx.cpp
文件 1054 2003-07-30 16:11 位图透明贴图\StdAfx.h
文件 1121 2004-10-31 22:14 位图透明贴图\TestButton.clw
文件 2119 2003-07-30 16:11 位图透明贴图\TestButton.cpp
文件 4676 2004-10-31 17:31 位图透明贴图\TestButton.dsp
文件 543 2003-07-30 16:11 位图透明贴图\TestButton.dsw
文件 1368 2003-07-30 16:11 位图透明贴图\TestButton.h
文件 4924 2004-10-31 22:14 位图透明贴图\TestButton.rc
文件 4015 2004-10-31 22:28 位图透明贴图\TestButtonDlg.cpp
文件 1591 2004-10-31 21:19 位图透明贴图\TestButtonDlg.h
文件 66560 2009-09-12 09:24 位图透明贴图\TestButton.ncb
文件 254 2009-09-12 09:24 位图透明贴图\TestButton.plg
文件 53760 2009-09-12 09:24 位图透明贴图\TestButton.opt
目录 0 2009-09-11 20:52 位图透明贴图\res
目录 0 2009-09-11 20:52 位图透明贴图
----------- --------- ---------- ----- ----
............此处省略2个文件信息
评论
共有 条评论