• MFC 加入背景图片并让控件背景透明


    /*加入背景图片*/
    BOOL CTOOLDlg::OnEraseBkgnd(CDC* pDC)
    {
     // TODO: 在此加入消息处理程序代码和/或调用默认值
     CDialog::OnEraseBkgnd(pDC);
     HBITMAP   m_hBitmap;
     HDC           m_hBkDC;
     m_hBitmap   =   ::LoadBitmap(::GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP2));
     m_hBkDC     =   ::CreateCompatibleDC(pDC-> m_hDC);
     if(m_hBitmap   &&   m_hBkDC)
     {
      ::SelectObject(m_hBkDC,m_hBitmap);
      ::StretchBlt(pDC-> m_hDC,0,0,700,610,m_hBkDC,0,0,700,610,SRCCOPY);
      ::DeleteObject(m_hBitmap);
      ::DeleteDC(m_hBkDC);
     }

     return TRUE;
    }

    /*设置控件背景透明*/
    HBRUSH CTOOLDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
     HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
     
     if(nCtlColor == CTLCOLOR_STATIC )
     {
      pDC->SetBkMode(TRANSPARENT);//设置背景透明
      pDC->SetTextColor(RGB(255,255,0));//设置字体为黄色
      return (HBRUSH)::GetStockObject(NULL_BRUSH);
     }

     // TODO:  假设默认的不是所需画笔,则返回还有一个画笔
     return hbr;
    }

    实现效果例如以下图所看到的:

     

     

    转自:http://www.2cto.com/kf/201305/210038.html



  • 相关阅读:
    轻量级Spring定时任务(Spring-task)
    Mysql语句优化建议
    python时间日期处理
    subprocess
    Tkinter初体验
    java基础
    java JVM
    NFV
    java加载properties文件的六种方法总结
    悲观锁和乐观锁的区别
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6959286.html
Copyright © 2020-2023  润新知