VC-MFC-PNG按钮实现

近日一网友问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;

VC-MFC-PNG按钮实现插图

&看了又看央视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)
 &nbsp按钮开关接线方法;{
   PaintBk(pDC);

   gr这段时间老是放屁是什么原因aphics.DrawImage(*m_pSt这段高速正式通车dImage, 0, 0);
  
&看了就湿地小文章nbsp;  m_dcStd.CreateCompatibleDC(pDC);
 &nbsp按钮图片; 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
  &nbsp看了盛势怀疑龚俊性向;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);

VC-MFC-PNG按钮实现插图1

    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(&amp前几天;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 )
  &nbsp看了盛势怀疑龚俊性向;{
  &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);
&nbsp前几天天气查询;   bmp.DeleteObject();
  背景&nbsp按钮的文字符号;}

   // alternate image hot
   if(m_dcAltH.m_hDC == NUL按钮开关符号L)
&n背景图全屏bsp;  {
 &nbs看了么app下载p; &nbsp按钮拼音;PaintBk(pDC);

  &nb按钮开关sp; ColorMatrix看了就停不下来的漫画 HotMat = {&nbsp按钮开关符号;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即可!

资源下载此资源仅限注册用户下载,请先

【购买风险提示】

1. 全站3000+棋牌资源,终身VIP都可以免费下载,绝无二次收费。

2. 本站棋牌资源大多全网各种渠道采购,资源描述为转载资源站点内容,本站没有精力一一测试,搭建不一定成功。

3. 本站开通数十站点会员,资源过多,大部分无法亲自测试,源码有可能存在缺陷或者不完整的风险,所以低价出售仅供参考研究。确认购买视为接受该风险,由于源码具有可复制性,不接受任何理由退款!!!

4. 所有资源不一定包含安装教程,可以搜索本站其他资源教程作为参考。

5. 所有资源不提供搭建服务,如有需求请提前联系客服咨询。

6. 源码收集于网络,仅供研究学习,单机娱乐,请勿用于违法用途,源码中包含任何联系方式及网址请谨慎甄别,切勿上当受骗!

资源下载
下载价格:免费

【购买风险提示】

1. 全站3000+棋牌资源,终身VIP都可以免费下载,绝无二次收费。

2. 本站棋牌资源大多全网各种渠道采购,资源描述为转载资源站点内容,本站没有精力一一测试,搭建不一定成功。

3. 本站开通数十站点会员,资源过多,大部分无法亲自测试,源码有可能存在缺陷或者不完整的风险,所以低价出售仅供参考研究。确认购买视为接受该风险,由于源码具有可复制性,不接受任何理由退款!!!

4. 所有资源不一定包含安装教程,可以搜索本站其他资源教程作为参考。

5. 所有资源不提供搭建服务,如有需求请提前联系客服咨询。

6. 源码收集于网络,仅供研究学习,单机娱乐,请勿用于违法用途,源码中包含任何联系方式及网址请谨慎甄别,切勿上当受骗!

原文链接:https://qipaiyuanmaxiazai.com/5496.html,转载请注明出处~~~

0

评论0

1,本站运营一周年特惠,前3名终身会员仅售288,尽享全站资源免费下载
2,本站拥有全网最全的棋牌资源,目前已经资源数超3000+
没有账号? 注册  忘记密码?