|
近日一网友问PNG按钮的实现,前几天忙,这段时间看了下,做了个简单的DEMO
具体实现思路,因为MFC要画PNG需要引入GDI+头文件和包。这里引入之后新建了一个类,继承自BUTTON。
在PNG按钮中D前几天天气预报rawItem中绘制时候需要引入对话框中传入的CDC 用于这段高速正式通车绘制整体背景。同时需要将消息CtlColor 中进行绘制。
绘制代码我参考了网上的一个案例。
HBRUSH CGd看了么app下载ipButton::CtlColor(CDC* pScreenDC, UINT nCtlColor)
{前几天哪里地震了
if(!m_bHaveBitmaps)
{
&nbs这段网恋不靠谱1v1鱼北pop;&看了就湿地小文章nbsp;if(!m_pStdImage)
{
return NULL; // Load the standard image with LoadStdImage()
}
CBitmap bmp, *pOldBit前几天天气查询map;
&看了又看央视8套高清版nbsp; CRect rect;
GetClientRect(rect);
&nbs看了想哭的悲伤图片p;// do everything with mem dc
CMemDC pD背景图动漫C(pScreen按钮开关接线图DC, re按钮开关ct);
Gdiplus::Graphics graphics(pDC->m_hDC);
// background
if (m_dcBk.m_hDC == NULL)
&nbs背景图片2021最火爆p; {
&n按钮bsp;CR看了想哭的句子ect rect1;
CClientDC clDC(GetParent());
GetWindowRect(rect1);
GetParent()前几天帮一个陌生人口了->ScreenToClient(rect1);
m_d背景图片2021最火爆cBk.Creat看了么app下载eCompatibleDC(&clDC);
bmp.CreateCompatibleBitmap(&clDC, rect.Widt这段高速正式通车h(), rect.Height());
&nbs这段网恋不靠谱by鱼北在线阅读p;看了么下载 &nbs这段网恋不靠谱by鱼北在线阅读p;pOld看了么下载Bitmap看了暗恋者日记的下场 = m_dcBk.SelectObject(&bm前几天天气查询p);
m_dcBk.BitBlt(0, 0, rect.Width(), rect.Height(), &clDC, rect1.left, rect1.top, SRCC背景图干净治愈系仙气OPY);
bmp.DeleteObje背景图insct();
}
按钮 // standard image
if (m_dcStd.m_hDC == NULL)
 按钮开关接线方法;{
PaintBk(pDC);
gr这段时间老是放屁是什么原因aphics.DrawImage(*m_pSt这段高速正式通车dImage, 0, 0);
&看了就湿地小文章nbsp; m_dcStd.CreateCompatibleDC(pDC);
 按钮图片; bmp.CreateCompatibleBitmap(pDC, rect.Width(), rect这段网恋不靠谱po.Height());
&nbs背景图干净治愈系仙气p; pOldBitmap = m_dcStd.SelectObject(&bmp);
&nbs前几天帮一个陌生人口了p; m_dcStd.BitBlt(0, 0, rect.Width(), rect.Height(), pDC, 0, 0, SRCCOPY);
bmp.DeleteObject();
// standard image presse这段网恋不靠谱by鱼北d看了想哭的句子
if (m_dcStdP.m_hDC == NULL)
{
PaintBk(pDC);
graphics.DrawImage(*m_pStdImage, 1前几天吃了避孕药今天有点血, 1);
m_dcStdP.CreateCompatibleDC(pDC);
bmp.CreateCo这段家暴视频mpatibleBitmap(pDC, rect.Width(), rect.Height());
&前几天的英文nbsp; pOldBitmap = m_dcStdP.Sel前几天哪里地震了ectO前几天bject(&bmp);
m_dcStdP.BitBlt(0, 0, rect.Width(), rect.Height(), pDC, 0, 0, SRCCOPY);
&nb前几天天气预报sp;&按钮开关接线方法nbsp; bmp.D按钮开关接线方法eleteObject();
}
// standard image hot
 看了盛势怀疑龚俊性向;if(m_dcStdH.m_hDC == NULL)
{
&nbs背景图干净治愈系仙气p; PaintBk(pDC);
ColorMatrix HotMat = { 1.05f按钮的文字符号, 0.00f, 0.00f, 0.00f, 0.00f,
0.00f, 1.05f, 0.00f, 0.00f, 0.00f,
&nbs这段情越是浪漫越美妙什么歌p;0.00f, 0.00f, 1.05f, 0.00f, 0.00f,
&背景图全屏nbsp; &nbs背景音乐p; 0.00f, 0.00f, 0.00f, 1.00f, 0.00f,
看了么app下载&nb前几天帮一个陌生人口了sp; 0.05f,按钮拼音 0.05f, 0.05f, 0.00f, 1.00f&nb这段情越是浪漫越美妙什么歌sp;};
ImageAttributes ia;
ia.SetColorMatrix(&HotMat);
float width = (float)m_pStdImag背景e->m_pBit按钮拼音map->GetW背景图动漫idth();
float heigh这段高速正式通车t = (float)m_pStdImage->m_pBitmap前几天天气查询->GetHeight();
RectF grect; grect.X=0, grect.Y=0; grect.Width = width; grect.Height = height;
graphics.DrawImage(*m_pStdImage, grect, 0, 0, wid背景图insth按钮开关符号, height, UnitPixel,按钮的文字符号 &ia);
&nb看了吗sp; m_dcStdH.CreateCompatibleDC(pDC);
&按钮图片nbsp; bmp.CreateCompatibleBitmap(pDC, rect.Width(), rect.Height());
pOldBitmap = m_dcStdH.SelectObject(&bmp);
m_dcStdH.BitBlt(0, 0, rect.Width(), rect.Height(), pDC, 0, 0, SRCCOPY);
bmp.DeleteObject();
}
&nb这段网恋不靠谱1v1鱼北posp; 这段网恋不靠谱by鱼北在线阅读 // grayscale image
&这段网恋不靠谱1v1鱼北ponbsp;if(m_d看了暗恋者日记的下场cGS.m_hDC == NULL)
看了盛势怀疑龚俊性向 {
&nbs看了吗p; PaintBk(按钮符号pDC);
ColorMatrix GrayMat按钮 = { 0.按钮开关符号30f, 0.前几天帮一个陌生人口了30f, 0.30f, 0.00f, 0.00f,
&nb背景图干净治愈系仙气sp; 0.59f, 0.59f, 0.59f, 0.00f, 0.00f,
&前几天哪里地震了nbsp; 0.11f, 0.11f, 0.1按钮开关的常闭和常开1f, 0.00f,背景图全屏 0.00f,
0.00f, 0.00f, 0.00f, 1.00f, 0.00f,
&前几天天气预报nbsp; 0.00f, 0.00f, 0.00f, 0.00f, 1.00f };
&n这段网恋不靠谱1v1鱼北pobsp; ImageAttributes ia这段网恋不靠谱1v1鱼北po;
ia.SetColorMatrix(&GrayMat);
float width = (float)m_pStdImage->m_pBitmap-&看了想哭的句子gt;GetWid前几天的英文th();
&看了想哭的句子nbsp; float height = (float)m_pStdI这段高速正式通车mage->m_pBitmap-&前几天天气查询gt;GetHeight();
&nbs按钮开关接线方法p; RectF grect; grect.X=0, grect.Y=0; grect.Width = widt看了想哭的悲伤图片h; grect.Height = height;
&看了么下载nbsp;graphics.DrawImage(*m_pStdImage, grect, 0, 0, width, height, U背景图伤感nitPixel, &ia);
m_dcGS.CreateCompatibleD前几天的英文C(pDC);
bmp.CreateCompatibleBitmap这段网恋不靠谱by鱼北(pDC, rect.Width(), re看了想哭的句子ct.Height());
pOldBitmap = m_dcGS.SelectObject(&bmp);
&n这段情越是浪漫越美妙什么歌bsp; m_dcGS.BitBlt(0, 0, rect.Width(),看了就停不下来的漫画 rect.Height(), pDC, 0,这段高速正式通车 0, SRCCOPY);
bmp.DeleteObject();
}
}
&前几天天气查询nbsp;// alternate image
&看了么下载nbsp;&背景图伤感nbsp;if( (m_dcAlt.m_看了暗恋者日记的下场hDC == NULL) && m_bHaveAltImage )
{看了就湿地小文章
PaintBk(pDC);
graphics.DrawImage(*m_pAltImage, 0, 0);
m_dc这段网恋不靠谱1v1鱼北poAlt.CreateCompatibleDC(pDC);
bm前几天胎动厉害这几天不动了p.CreateCompatibleBitmap(pDC, rect.W看了么app下载idth(), rect.Height()按钮符号);
pOldBitmap = m_dcAlt.Sele按钮图片ctObject(&前几天;bmp);
m_dcAlt.BitBlt(0, 0, rect.Width(), rect.Heigh前几天天气预报t(), pDC, 0, 0, SRCCOPY);
bmp.DeleteObject();
// alt背景图好看ernate image press按钮ed
if( (m_d背景图片2021最火爆cA按钮的文字符号ltP.m_hDC == NUL背景L)前几天哪里地震了 && m_bH看了吗aveAltImage )
 看了盛势怀疑龚俊性向;{
&nbs背景图干净治愈系仙气p; PaintBk(pDC);按钮开关的常闭和常开
graphics.D背景音乐rawImage(*m_pAltImage, 1, 1前几天哪里地震了);
m_dcAltP.CreateComp看了又看央视8套高清版atibleDC(pDC);
bmp.CreateCompatib前几天的英文leBitmap(pDC, rect.Width(), rect按钮英文.H前几天的天气怎么查eight());
pOldBitmap = m_dcAltP.SelectO这段情越是浪漫越美妙什么歌bject(背景图文字&bmp这段);
&n背景图干净治愈系仙气bsp;m_dcAltP.Bit按钮开关的常闭和常开Blt(0, 0, rect.Width(), rect.Height(), pDC, 0, 0, SRCCOPY);
 前几天天气查询; bmp.DeleteObject();
背景 按钮的文字符号;}
// alternate image hot
if(m_dcAltH.m_hDC == NUL按钮开关符号L)
&n背景图全屏bsp; {
&nbs看了么app下载p;  按钮拼音;PaintBk(pDC);
&nb按钮开关sp; ColorMatrix看了就停不下来的漫画 HotMat = { 按钮开关符号;1.05f, 0.00f, 0.00f, 0.00f, 0.00f,
&这段网恋不靠谱1v1鱼北笔趣阁nbsp; 前几天天气预报 看了暗恋者日记的下场&背景nbsp; 0.00f, 1.05f, 0.00f, 0.00f, 0.00f,
&nbs这段情越是浪漫越美妙什么歌p; 0.00f, 0.00f, 1.05f, 0.00f, 0.00f,
&背景图微信nbsp; &按钮nbsp; 0.00f, 0.00f, 0.00f,看了么下载 1.00f, 0.00f,
&nb按钮开关接线方法sp; &n背景图全屏bsp; 看了就湿地小文章 &前几天胎动厉害这几天不动了nbsp;0.05f, 0.05f, 0.05f, 0.00f, 1.00f };
Im这段网恋不靠谱poageAttributes ia;
ia.SetColorMatrix(&HotMat);
float width = (float)m_pStdImage->m_pBitmap->GetWidth();
float height = (float)m_pStdImage->前几天吃了避孕药小腹疼怎么回事m_pBitmap->GetHeight();
RectF grect; grect.X=0, grect.Y=0; grect.Width前几天哪里地震了 = width; grect.Height = height;
graphics.DrawImage(*m_pAlt背景图干净治愈系仙气Image, gre前几天帮一个陌生人口了ct, 0, 0, width, height, UnitPixel, &ia);
m_dcAltH.CreateCo按钮开关接线方法mpati按钮开关接线图bleDC(pDC);
&nb前几天哪里地震了sp;&看了么下载nbsp;bmp.CreateCompatibl按钮图片eBitmap(pDC, rect.Width(),这段网恋不靠谱by鱼北 rect.Height()背景图动漫);
pOldBitmap = m_dcAltH前几天哪里地震了.SelectObject(&bmp);
m_d前几天的英文cAltH.BitBlt(0, 0, rect.Width(), rect.Heig前几天吃了避孕药今天有点血ht(), pDC, 0, 0, SRCCOPY);
按钮英文bm看了么app下载p.DeleteObject();
&nb前几天我养的兰花死了犯罪大师sp;}
}
if(m_pCurBtn == NULL)
{
&nbs背景图全屏p;m_pCurBtn = &m_dcStd;
按钮英文}
m_bHaveBitma这段ps = TRUE;
}
r前几天胎动厉害这几天不动了eturn NULL;
}
同时将绘制看了暗恋者日记的下场背景那里设置按钮开关为TRUE
在需要使用的程序中直接引用这个BUTTON即可!
|
|