MFC由CView转化为CScrollView

来源:互联网 发布:儿童绘画 知乎 编辑:程序博客网 时间:2024/06/08 16:59

由于我们编程时,会时常用到滚动条,所以会用到CScrollView类,但开始创建工程时没有考虑这么多。下面就继承CView类改为继承CScollView类说一下具体过程:
1.找到要改的类,将H和CPP文件里的CView改为CScollView。直接用菜单下的replace

2.添加虚函数(查看一下你的视类有没有)OnInitialUpdate;
添加形如以下代码 :
void CMimicsView::OnInitialUpdate()
{
    // TODO: Add your specialized code here and/or call the base class
    SetScrollSizes(MM_TEXT, GetDocument( )->GetDocSize( ));
    CScrollView::OnInitialUpdate();
}
SetScrollSizes这个函数可以去MSDN看一下具体用法,这里的第二个参数是一个CSize类型,需要自己在文档类里面定义。
如果想查看一下效果,可以用以下代码看看
void CMimicsView::OnInitialUpdate()
{
    // TODO: Add your specialized code here and/or call the base class
    SetScrollSizes(MM_TEXT, CSize(1000,1000));
    CScrollView::OnInitialUpdate();
}

心得:其实这些都是一些简单的工作,只要自己用心还是很快能搞定的

 

 

VC中已建立了一个view视图,如何改为scroll view视图 
第一步: 
把你的XXXView.h中CXXXView的基类换成CScrollView 
第二步 
利用查找置换把XXXView.h和XXXView.c中所有的CView::换成CScrollView::; 
第三步 
给你的CXXXView类添加OnInitialUpdate虚函数,修该其内容如下: 
void CXXXView::OnInitialUpdate() 

CScrollView::OnInitialUpdate(); 

CSize sizeTotal; 
// TODO: calculate the total size of this view
sizeTotal.cx = sizeTotal.cy = 100; 
SetScrollSizes(MM_TEXT, sizeTotal); 

0 0