如何使对话框中的位图移动并且不要闪???

allen7757 2004-02-25 09:52:48
我用的是单文档的框架,以下是我显示位图的对话框中的一部分程序。图片虽然可移动,但在移动过程中不断闪烁,请个位高手多多指教。
void CPreView::OnPaint()
{
// device context for painting
CPaintDC dc(this);
// TODO: Add your message handler code here
hwnd = GetDlgItem(IDC_PIC);
hDesDC = hwnd->GetDC()->m_hDC;
hSrcDC = CreateCompatibleDC(hDesDC);
hBitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),m_Path,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
GetObject(hBitmap, sizeof BITMAP, &bm);
SelectObject(hSrcDC, hBitmap);
hwnd->GetClientRect(&rect);
SetTimer(0,10,NULL);
}

void CPreView::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(m_X!=0&&m_X<1000)
{
::BitBlt(hDesDC,rect.left, 0, rect.right,rect.bottom, hSrcDC, -m_X+bm.bmWidth+1, 0,R2_BLACK);
}
if(m_X<1000)
{
::BitBlt(hDesDC,rect.left, rect.top, rect.right, rect.bottom, hSrcDC, -m_X+bm.bmWidth, 0, SRCCOPY);
m_X+=1;

}
CDialog::OnTimer(nIDEvent);
}
...全文
102 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧