Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 22:39:56
visual c++中滚动视图的使用

visual c++中滚动视图的使用

visual c++中滚动视图的使用

滚动视图(CScrollView)也是经常使用的视图之一,顾名思义,滚动视图就是具有滚动条的视图,如图1所示。


图1 滚动视图

如果图像过大,在视图中无法完全显示,这时,读者就需要考虑使用滚动视图。滚动视图在普通视图(CView)的基础上,增加了成员函数SetScrollSizes(),这个成员函数可以指定视图的长与宽。


void CMyView::OnInitialUpdate()

{

CScrollView::OnInitialUpdate();

CSize sizeTotal;

CBitmap bmp;

bmp.LoadBitmap(IDB_BITMAP1); //载入图像

BITMAP bmpstr;

bmp.GetBitmap(&bmpstr); //取得图像结构

sizeTotal.cx=bmpstr.bmWidth; //图像的宽度

sizeTotal.cy=bmpstr.bmHeight; //图像的高度

SetScrollSizes(MM_TEXT, sizeTotal); //设置视图的范围

bmp.DeleteObject();

}

通过这段代码,视图就与所载入的图片同样大了,下面是显示图像的关键代码:


void CMyView::OnDraw(CDC* pDC)

{

CDC memDC;

CBitmap bmp;

bmp.LoadBitmap(IDB_BITMAP1);

BITMAP bmpstr;

bmp.GetBitmap(&bmpstr);

memDC.CreateCompatibleDC(pDC); //建立一临时场景

memDC.SelectObject(&bmp); //装载图像

//拷贝到设备场景中

pDC->BitBlt(0,0,bmpstr.bmWidth,bmpstr.bmHeight,&memDC,0,0,SRCCOPY);

memDC.DeleteDC();

bmp.DeleteObject();

}


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759