zoukankan      html  css  js  c++  java
  • 双缓存图片显示常用函数01CreateMemSrcDC

    >>>改进:可以使用结构来返回多个返回值

    >> 方法1:

    CreateMemSrcDC 返回值 -----创建的内存DC

    HBITMAP &hBmp -----创建的内存DC选中的图片

    HBITMAP &hOldBmp -----创建的内存DC选中的图片前保存的图片

    m_hMemSrcDC = CreateMemSrcDC(m_hSrcBmp, m_hOldSrcBmp, pDC, sz.cx+2, sz.cy+2);

    HDC CLDCText30Control::CreateMemSrcDC(HBITMAP &hBmp, HBITMAP &hOldBmp, CDC * pDC, int width, int height)
    {
    CDC *pMemDC = new CDC;
    if (pMemDC->CreateCompatibleDC(pDC))
    {
    pMemDC->SetMapMode(pDC->GetMapMode());
    // create output bmp
    CBitmap *pBmp = new CBitmap();
    BOOL lg = pBmp->CreateCompatibleBitmap(pDC, width, height);
    hOldBmp = (HBITMAP)pMemDC->SelectObject(pBmp)->m_hObject;
    hBmp = (HBITMAP)pBmp->m_hObject;
    return pMemDC->m_hDC;
    }
    else
    {
    delete pMemDC;
    pMemDC=NULL;
    return 0;
    }
    }

    >>方法2:

     HDC  m_hBkPreCtrlMemDC;
     HBITMAP m_hBkPreCtrlBmp;
     HBITMAP m_hOldBmp;

    HDC CLDCControl50::CreateMemSrcDC(HDC hDC, int width, int height)
    {
    ReleaseMemSrcDC();

    m_hBkPreCtrlMemDC = ::CreateCompatibleDC(hDC);
    if (m_hBkPreCtrlMemDC)
    {
    ::SetMapMode(m_hBkPreCtrlMemDC, ::GetMapMode(hDC));
    // create output bmp
    m_hBkPreCtrlBmp = CreateCompatibleBitmap(hDC, width, height);
    m_hOldBmp = (HBITMAP)SelectObject(m_hBkPreCtrlMemDC, m_hBkPreCtrlBmp);
    return m_hBkPreCtrlMemDC;
    }
    return NULL;
    }

    void CLDCControl50::ReleaseMemSrcDC()
    {
    if (m_hOldBmp != NULL)
    {
    SelectObject(m_hBkPreCtrlMemDC, m_hOldBmp);
    m_hOldBmp = NULL;
    }

    if (m_hBkPreCtrlBmp != NULL)
    {
    DeleteObject(m_hBkPreCtrlBmp);
    }

    if (m_hBkPreCtrlMemDC != NULL)
    {
    DeleteDC(m_hBkPreCtrlMemDC);
    }
    }



  • 相关阅读:
    CSS3实战手册(第3版)(影印版)
    21世纪C语言(影印版)
    Spring Data:企业级Java的现代数据访问技术(影印版)
    Hive编程(影印版)
    iOS 6编程Cookbook(影印版)
    做自己——鬼脚七自媒体第一季
    放飞App:移动产品经理实战指南
    《推荐系统》+《推荐系统实践》
    步步惊“芯”——软核处理器内部设计分析
    ip的划分,超详细
  • 原文地址:https://www.cnblogs.com/carl2380/p/2317371.html
Copyright © 2011-2022 走看看