一个关于窗口滚动问题!
窗口继承CScrollView,窗口中显示图像,图像不止一个,最下面得图像超出了屏幕得范围,但是用滚动条下滑后下面得还是没有显示出来,屏幕显示得跟原来一样,不知道是否必须用OnDraw里面得pDC指针才行?我的程序如下:
void CPkgameView::OnDraw(CDC* pDC)
{
CPkgameDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
DrawDesk();
}
void CPkgameView::DrawDesk()
{
CRect mrect;
GetClientRect(mrect);//得到客户区的大小
CDC* pDC=GetDC();
HBITMAP bitmaps1;
int x,y,px=0,py=0;
HDC hMemDC1=::CreateCompatibleDC(NULL);
bitmaps1=::LoadBitmap(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_DESK));
DeleteObject(SelectObject(hMemDC1,bitmaps1));
CRect mrect1;
for(int i=0;i<50;i++)//显示50个图像
{
x=px*224+62;
if(x>mrect.right)
{px=0;
py++;
x=px*224+62;
}
px++;
y=py*224+62;
StretchBlt(pDC->m_hDC,
x,y,
100,100,
hMemDC1,
0,0,
100,100,
SRCCOPY);
// mm1.Format("%d",i+1);
//////////////////
}
::DeleteDC( hMemDC1);
::DeleteObject(bitmaps1);
ReleaseDC(pDC);
}