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

视图类的基类是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);
}

  

转载于:https://www.cnblogs.com/kind064100611/p/4420232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值