如何将一个基于CView类的程序转换为基于CScrollView的程序? 程序的基本功能已经实现,现在需要实现滚动视窗的功能如果直接将所有CView替换CScrollView好像不行。还有什么地方要改?望指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、查找视图的头文件和CPP文件,将所有出现的CView修改为CScrollView,除了在涵数参数列表中出现的CView *。2、如果还没有覆盖的话就覆盖OnInitialUpdate,并插入对SetScroolSizes的调用。 用向导新建一个基于CScrollView的工程,然后比较差别进行修改。另外注意jiangsheng的话。 这个基本上很难, 如果你对CScrollView很了解, 其实也不难了, 唉, 废话! 同意 Mackz(在相互)!这个是比较现实的做法! 按照《深入浅出MFC》对程序进行了以下修改://in TopoQueryView.hclass CTopoQueryView : public CScrollView//in TopoQueryView.cppIMPLEMENT_DYNCREATE(CTopoQueryView, CScrollView)BEGIN_MESSAGE_MAP(CTopoQueryView, CScrollView)void CTopoQueryView::OnInitialUpdate() { SetScrollSizes(MM_TEXT,CSize(800,600)); CScrollView::OnInitialUpdate(); }不过滚动条还是没有出来,怎么回事?to Mackz:重建基于CScrollView的工程与以CScrollView取代CView,两者之间有什么区别? CFrameWnd 框架调整 帮我测试下,哪里错了啊?急死了!!! Windows中位图怎么学 孙鑫深入解析VC++书本第385页的问题 想向大家问问一些VC++方面的事 请教:vs2005环境下,在dll工程中的使用模板产生的警告是什么意思? static变量赋初值出错 FAQ: 如何列出系统中安装的物理硬盘及其接口类型 一个菜鸟问题? 关于友元的问题 请教一个windows程序运行原理的问题 我写一个操作数据库的COM组件,在某中一个方法中需要传递ADODB::adVarchar这样的enum类型应该怎么办
2、如果还没有覆盖的话就覆盖OnInitialUpdate,并插入对SetScroolSizes的调用。
//in TopoQueryView.h
class CTopoQueryView : public CScrollView
//in TopoQueryView.cpp
IMPLEMENT_DYNCREATE(CTopoQueryView, CScrollView)BEGIN_MESSAGE_MAP(CTopoQueryView, CScrollView)void CTopoQueryView::OnInitialUpdate()
{
SetScrollSizes(MM_TEXT,CSize(800,600));
CScrollView::OnInitialUpdate();
}
不过滚动条还是没有出来,怎么回事?
to Mackz:重建基于CScrollView的工程与以CScrollView取代CView,两者之间有什么区别?