我要在单文档界面上用一个图作为背景图(图很大,会用到滚动条),然后在背景图上通过鼠标拖动画东西。
以前发过帖子,用如下代码,确实可以解决闪烁的问题,就是
在OnEraseBkgnd中
BOOL CTestView::OnEraseBkgnd(CDC* pDC) 
{
CRect rect;
GetClientRect(&rect);
CBitmapPicture bitmap;
bitmap.Load(GetDocument()->m_strBackPix);

BITMAP bmp;
bitmap.GetBitmap(&bmp);

CDC dcCompatible;
dcCompatible.CreateCompatibleDC(pDC);
dcCompatible.SelectObject(&bitmap);// 居中显示背景图片
pDC->BitBlt((rect.Width()-bmp.bmWidth)/2, (rect.Height()-bmp.bmHeight)/2,
bmp.bmWidth, bmp.bmHeight, &dcCompatible, 0, 0, SRCCOPY);return TRUE;
}
但是好像滚动条不好用,拖动滚动条的时候,显示出来的画像内容,并不是原来没有显示出来的东西。感觉刷新还是有问题的。不知道怎么办?
如果在onDraw函数里面直接载入背景图(这样的话,滚动条是好用的),在用鼠标拖动画线,因为要时时刷新,闪烁的特别厉害。滚动条我用的是(CScrollView)自带的,我的单文当工程CView的父类是CScrollView。写了这么多,还是想求一个万全之计,既可以用滚动条,还以作到不闪烁。哪位高人用过,还请指点一下,最好能有一些可以使用的代码。谢谢。