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);
    }
    }



  • 相关阅读:
    mysql 中 group_concat()用法
    MySQL行转列与列转行
    mysql中find_in_set()函数的使用(转载)
    多线程中的线程安全关键字
    架构师的特征
    算法复杂度的定义
    1.ArrayList和linkedList区别
    Plsql查询clob类型字段数据
    数据库的特性与隔离级别和spring事务的传播机制和隔离级别
    java中的线程
  • 原文地址:https://www.cnblogs.com/carl2380/p/2317371.html
Copyright © 2011-2022 走看看