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

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

  

时间: 2024-10-04 22:54:15

显示图像实际大小时使用滚动条的相关文章

PyQt通过resize改变窗体大小时ListWidget显示异常

前几天开始的pygame音乐播放器Doco,做的差不多了,上午做到了歌词显示和搜索页面.遇到bug,即通过resize改变ui大小时ListWidget显示异常 #目的: 增加一部分窗口用来显示歌词和搜索页面.也就是在原来播放器的基础上通过resize增加窗口宽度,然后增加相应的内容. #test 由于Doco代码过于臃肿,笔者来一个test来描述上午遇到的问题吧. 首先,欲改变ui宽度,则想到resize Test.resize(852, 714) #设置高和宽 Test.setFixedSi

表格内,设置许多元素的大小时,js的速度慢的办法

因为要做可编辑的表格,生成的表格结构如下: <td class=" autoEdit" data-field="sex">      <input class="autoEditinput" value="1" data-url="1111"  data-field="sex"> </td> 我要的最终效果是:(粉色的是input) 但input与表格

修改SharePoint网站最大上载大小时有时需要关注的事项

我们在用SharePoint存储文档时,用户要上传200多MB到站点上,结果受到上传大小限制.在管理中心里做了修改,增加了上载大小限制.可是用户在上传的时候,不是提示连接超时,就是未知错误.结果查了下,微软的支持中心里找到了原因,有些情况下,要想真正实现能够上传大文件,还要注意以下情况. 由于网络传输速度的原因,一个大文件,可能要传很长时间.这个我们可能在虚机里或者本地局域网里觉察不出来速度太慢的情况.一个文件没有传完,就出现了超时的情况. 要解决此问题,请使用一个或多个以下的方法: l 修改管

openGL如何在改变窗口大小时,使自己的图形不被拉伸

这里要注意两个概念:视口和视景体,当视口的纵横比和视景体的纵横比相同的时候,改变窗口大小,图像才不会变形: 视景体是指成像景物所在空间的集合.它是一个空间集合体. 单个的视景体,比如一个球体,若要完全显示,其视景体应该是该球体的最小外接立方体:若要只显示上半部分,则取上半球,其视景体是上半球的最小外接立方体.对于半球而言,上半球是视景体,那么其只有上半球有显示权限,下半球没有,所以就算是将该球体位置拉远,也只能看到上半球. 若视景体仅仅为上半球,那么默认情况下,上半球所映射的画布刚好充满摄像机.

matplotlib 设置图形大小时 figsize 与 dpi 的关系

matplotlib 中设置图形大小的语句如下: fig = plt.figure(figsize=(a, b), dpi=dpi) 其中: figsize 设置图形的大小,a 为图形的宽, b 为图形的高,单位为英寸 dpi 为设置图形每英寸的点数 则此时图形的像素为: px, py = a*dpi, b*dpi # pixels # e.g. # 6.4 inches * 100 dpi = 640 pixels 也就是说,同一像素尺寸的图形(比如 1200 * 600)可以有任意种不同的组

转载 | 防止页面图片过大出现横滚动条问题

- JS方法 - 就是一小段JS加到页面中就可以,下面把这段代码贴出来: 1 jQuery(document).ready(function () { 2 jQuery("body").attr("style","overflow-x:hidden"); 3 }); - CSS方法 - 一.防止图片撑破DIV方法一 原始处理方法是将要展示的图片进行处理.比如你的DIV宽度为500px(像素),那你上传的图片或放入网页的图片宽度就要小于500px,

开发winform程序,在拖拽控件大小时,VS会卡死

你可以看看你最近有没有装什么新的软件,比如说:有道词典就会与VS有冲突,导致卡死,可以把进程关闭.

WPF中关于自定义控件的滚动条鼠标停留在内容上鼠标滚轮滚动无效的问题

问题起因:在一个用户控件里放置了1个TreeView垂直顺序放置. 当用户控件中的内容超过面板大小时,滚动条会自动出现 ,但是只有当鼠标指示在右边滚动条的那一条位置时,才支持鼠标滚轴滚动. 点在控件内部时滚轴无效. 问题分析:由于设置了d:designheight,自定义控件的宽高都是随着父容器的变化而变化的,于是我将Height设为较小的固定高度时,发现鼠标停留在控件内容时,滚轮控制滚动条滚动是有效的.这就说明UI上显示的滚动条并非是这个自定义控件的,而是这个自定义控件所在的父容器的,这样也解

滚动条,浏览器窗口,相关

http://blog.csdn.net/fswan/article/details/17238933 http://blog.csdn.net/lanse_my/article/details/12339411 http://www.cnblogs.com/wang726zq/archive/2012/05/10/2494256.html 网上可以找到很多解释,都大差不差吧. 记录下几个小例子. 1.回到顶部 function backTop() {var btn = $("#id"