手工修改程序的视类的基类由CView修改为CScrollView,这需要修改源程序中的几处内容。在C**View类头文件中只有一处需要修改,即该类的定义处,将CView修改为CScrollView即可,让C**View类从后者派生。修改后的代码如下所示:
class C**View:pulic CScrollView
{
...
但在C**View类的源文件中有多处需要修改,为了避免遗漏,可以利用edit->replace菜单命令进行替换。在find what和replace with编辑框中分别输入CView和CScrollView,并选中“match whole word only”选项,然后单击replace all。这样就将C**View文件中所有出现的CView的地方都替换为CScrollView了。
最后,重载C**View的一个虚函数:OnInitialUpdate。
void C**View::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
//TODO: Add your specialized code here and/or call the base class
SetScrollSizes(MM_TEXT,CSIZE(800,600));
}
本文详细介绍了如何在程序中手工修改视类的基类,将其从CView更改为CScrollView的过程。通过在C**View类的头文件和源文件中进行必要的修改,实现类继承的改变。特别强调了使用edit->replace菜单命令来高效替换代码,避免遗漏,并重载了一个关键的虚函数OnInitialUpdate。

8155

被折叠的 条评论
为什么被折叠?



