15,979
社区成员
发帖
与我相关
我的任务
分享
CDC* pDC = GetDC();
if ( m_bCircling )
{//滚动显示,只显示一张照片
if ( m_memBKDC.m_hDC )
{
pDC->BitBlt(0, 0, m_PicPreSize.cx, m_PicPreSize.cy, &m_memBKDC, 0, 0, SRCCOPY);
TRACE("背景覆盖");
DeleteObject(m_memBmp);
m_memBKDC.DeleteDC();
}
m_memBKDC.CreateCompatibleDC(pDC);
CMyBMP* pMyBmp = new CMyBMP;
InitialBMPEx(pMyBmp);
m_PicExPos.cx = (m_size.cx - pMyBmp->m_size.cx)/2;
m_PicExPos.cy = (m_size.cy - pMyBmp->m_size.cy)/2;
m_PicPrePos = m_PicExPos;
m_PicPreSize = pMyBmp->m_size;
m_PicExSize = pMyBmp->m_size;
m_memBmp = CreateCompatibleBitmap(m_memBKDC.m_hDC, m_PicExSize.cx, m_PicExSize.cy);
m_memBKDC.SelectObject(m_memBmp);
m_memBKDC.BitBlt(0, 0, m_PicExSize.cx, m_PicExSize.cy, pDC, m_PicExPos.cx, m_PicExPos.cy, SRCCOPY);
CBmpSpecialShow::SpecialShow(0, pDC, m_PicExPos.cx, m_PicExPos.cy, pMyBmp->m_Bmp, pMyBmp->m_size);
CRect rcText((m_size.cx-pMyBmp->m_size.cx)/2, (m_size.cy+pMyBmp->m_size.cy)/2, pMyBmp->m_size.cx, pMyBmp->m_size.cy/10 );
pDC->SetBkMode(TRANSPARENT);
pDC->DrawText(pMyBmp->m_strName, rcText, DT_CENTER | DT_VCENTER);
TRACE(pMyBmp->m_strName);
TRACE("\n");
}