我在显示一个位图的时候继承的是CSrollView 类,但是在滚动条中出现了一些问题。我在OnInitialUpdate()中添加的以下代码:
CScrollView::OnInitialUpdate();
CMyShowDIBDoc *pDoc=GetDocument();
CSize c=pDoc->GetDocSize();
SetScrollSizes(MM_TEXT,pDoc->GetDocSize());
pDoc->UpdateAllViews(NULL);
其中GetDocSize()是获取文件大小的函数,返回值是一个CSize 对象。并且我给这个CSize 的对象初始化为(1,1)。我想利用这段程序使得图像在超过客户区大小的时候才出现滚动条,但是滚动条根本出现不了,可是我把CSize 的对象的初始化改成更大一点的值,比如(800,800)的时候就会出现滚动条,不知道是什么原因。而且我断点后发现上面那段程序根本得不到文件大小,得到的仍然是初始化时候的大小。很奇怪,想请问一下。另外关于CScrollView到底什么时候会出现滚动条?与SetScrollSizes的设置有关么?请各位大虾给予指点,谢谢!
CScrollView::OnInitialUpdate();
CMyShowDIBDoc *pDoc=GetDocument();
CSize c=pDoc->GetDocSize();
SetScrollSizes(MM_TEXT,pDoc->GetDocSize());
pDoc->UpdateAllViews(NULL);
其中GetDocSize()是获取文件大小的函数,返回值是一个CSize 对象。并且我给这个CSize 的对象初始化为(1,1)。我想利用这段程序使得图像在超过客户区大小的时候才出现滚动条,但是滚动条根本出现不了,可是我把CSize 的对象的初始化改成更大一点的值,比如(800,800)的时候就会出现滚动条,不知道是什么原因。而且我断点后发现上面那段程序根本得不到文件大小,得到的仍然是初始化时候的大小。很奇怪,想请问一下。另外关于CScrollView到底什么时候会出现滚动条?与SetScrollSizes的设置有关么?请各位大虾给予指点,谢谢!
解决方案 »
- new , delete导致的内存溢出问题,求专家帮忙看一下;
- 求助
- 这段C#(HttpWebResponse)用C++怎么实现?
- 如何在窗口中确定Messagebox()显示的位置。
- 如何导出ORACLE数据为文本文件?格式见内!谢谢!
- 我是初学者,请问改哪里的initinstance?具体代码有例子么?谢谢
- 求救,VC与VB混合编程如何入手???
- 怎样用MFC实现诸如FlashFXP的文件系统浏览一样的视图?
- 如何使拆分窗口的分隔条不可见
- 请教高手,音乐左右声道问题
- HELP!!!Charles Petzold的"Hello, Windows 98!"程序在构件时出现的错误
- <% C=#FF %>【提示信息】<% C=#FF0000 %>的问题
我的处理方法是在你显示图片的那条语句前写上
SetScrollSizes(MM_TEXT,pDoc->GetDocSize());
就可以了
好象一般在 onPaint()或 onDraw() 里面