19,469
社区成员
发帖
与我相关
我的任务
分享void CPlayerDlg::Playduration()
{ .....
CDC *dc = this->GetDC();
dcmem.CreateCompatibleDC(dc);
m_Bmp.CreateCompatibleBitmap(dc, m_rcGPS.right-m_rcGPS.left, m_rcGPS.bottom-m_rcGPS.top);
dcmem.SelectObject(m_Bmp);
/*位置可以更新的线*/
CPen newpen(PS_DASH,1,RGB(0,100,255));
CPen *oldPen = dcmem.SelectObject(&newpen);
dcmem.MoveTo(curh,0);
dcmem.LineTo(curh,m_rcGPS.bottom);
dcmem.MoveTo(curh+1,0);
dcmem.LineTo(curh+1,m_rcGPS.bottom);
dcmem.SelectObject(oldPen);
dc->BitBlt(m_rcGPS.left,m_rcGPS.top,m_rcGPS.right-m_rcGPS.left,m_rcGPS.bottom-m_rcGPS.top,&dcmem,0,0,SRCCOPY);
m_Bmp.DeleteObject();
dcmem.DeleteDC();
....
}
void Cxxx::Playduration()
{
.....
CDC *dc = this->GetDC();
dcmem.CreateCompatibleDC(dc);
m_Bmp.CreateCompatibleBitmap(dc, m_rcGPS.right-m_rcGPS.left, m_rcGPS.bottom-m_rcGPS.top);
dcmem.SelectObject(m_Bmp);
/*这三条是不想更新的作为背景的线*/
CBrush newBrush(RGB(100,200,200));
CBrush *oldBrush = dcmem.SelectObject(&newBrush);
dcmem.SelectObject(oldBrush);
dcmem.MoveTo(0, (rcGPS.bottom - rcGPS.top)* 1/4);
dcmem.LineTo(rcGPS.right, (rcGPS.bottom - rcGPS.top)*1/4);
dcmem.MoveTo(0, (rcGPS.bottom - rcGPS.top)* 2/4);
dcmem.LineTo(rcGPS.right, (rcGPS.bottom - rcGPS.top)* 2/4);
dcmem.MoveTo(0, (rcGPS.bottom - rcGPS.top)* 3/4);
dcmem.LineTo(rcGPS.right, (rcGPS.bottom - rcGPS.top)* 3/4);
/*位置可以更新(移动)的线*/
CPen newpen(PS_DASH,1,RGB(0,100,255));
CPen *oldPen = dcmem.SelectObject(&newpen);
dcmem.MoveTo(curh,0);
dcmem.LineTo(curh,m_rcGPS.bottom);
dcmem.MoveTo(curh+1,0);
dcmem.LineTo(curh+1,m_rcGPS.bottom);
dcmem.SelectObject(oldPen);
//dc->BitBlt(m_rcGPS.left,m_rcGPS.top,m_rcGPS.right-m_rcGPS.left,m_rcGPS.bottom-m_rcGPS.top,&dcmem,0,0,SRCCOPY);
TransparentBlt(dc->m_hDC,m_rcGPS.top,m_rcGPS.left,rcGPS.right,rcGPS.bottom,dcmem,0,0,rcGPS.right,rcGPS.bottom,RGB(100,100,200));//链接(link)错误
m_Bmp.DeleteObject();
dcmem.DeleteDC();
....
}
void Cxxx::Playduration()
{
.....
CDC *dc = this->GetDC();
dcmem.CreateCompatibleDC(dc);
m_Bmp.CreateCompatibleBitmap(dc, m_rcGPS.right-m_rcGPS.left, m_rcGPS.bottom-m_rcGPS.top);
dcmem.SelectObject(m_Bmp);
/*位置可以更新的线*/
CPen newpen(PS_DASH,1,RGB(0,100,255));
CPen *oldPen = dcmem.SelectObject(&newpen);
dcmem.MoveTo(curh,0);
dcmem.LineTo(curh,m_rcGPS.bottom);
dcmem.MoveTo(curh+1,0);
dcmem.LineTo(curh+1,m_rcGPS.bottom);
dcmem.SelectObject(oldPen);
//dc->BitBlt(m_rcGPS.left,m_rcGPS.top,m_rcGPS.right-m_rcGPS.left,m_rcGPS.bottom-m_rcGPS.top,&dcmem,0,0,SRCCOPY);
TransparentBlt(dc->m_hDC,m_rcGPS.top,m_rcGPS.left,rcGPS.right,rcGPS.bottom,dcmem,0,0,rcGPS.right,rcGPS.bottom,RGB(100,100,200));//链接(link)错误
m_Bmp.DeleteObject();
dcmem.DeleteDC();
....
}