All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

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

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 22:39:56 Browse times: 302 Comment times: 0

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


Head photo

Go homepage
Upload pictures
Write articles

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();
}




There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.