码迷,mamicode.com
首页 > 其他好文 > 详细

显示图像实际大小时使用滚动条

时间:2015-04-12 20:50:05      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

视图类的基类是CView不支持滚动条,要把CView改为CScrollView。
共有三步以实现:

void CMyAppView::OnInitialUpdate()  
{  
    CScrollView::OnInitialUpdate();
    CSize sizeTotal;   
    sizeTotal.cx = sizeTotal.cy = 600;    //看不到滚动条把数值加大
    SetScrollSizes(MM_TEXT, sizeTotal);
}

(3)把MyAppView.h和MyAppView.cpp里面,用查找/替换的方法,将CView改为CScrollView。

void COPMView::OnDraw(CDC* pDC)
{
    COPMDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
    CImage &img=pDoc->m_image;
    CRect rect;//定义一个矩形对象
    GetClientRect(rect);//获取视图窗口的客户区大小
    rect.right=img.Width(); //CvvImage:Width()计算图像的宽度,单位像素
    rect.bottom=img.Height();//CvvImage:Height()计算图像的高度,单位像素
    CSize sizeTotal(rect.right,rect.bottom);
    SetScrollSizes(MM_TEXT, sizeTotal);//设置滚动条的位置
    img.DrawToHDC(pDC->m_hDC, rect);
}

  

显示图像实际大小时使用滚动条

标签:

原文地址:http://www.cnblogs.com/kind064100611/p/4420232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!