10滚动视图HTML视图以及其它视图类型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.3 使用CScrollView时的两个原则
如果在OnDraw函数这外绘制,就要调用 CScrollView::OnPrePareDC让MFC在输出中考虑 映射模式和滚动位置的影响。 (CScrollView::OnPrePareDC完成两件重要事情: 调用CDC::SetMapMode来设置映射模式,调用 CDC::SetViewportOrg将视口原点转换考虑进去 了。CScrollView::OnPaint函数在调用OnDraw之 前调用了OnPrepareDC) 如果响应鼠标消息时执行命中测试,就要使用 CDC::DPtoLP将单击处的坐标从设备坐标转换为 逻辑坐标,从而考虑到映射模式和滚动位置的影 响。
描述
CListView
CTreeView CHtmlView CScrollView CFormView CRecordView CDaoRecordView COleDBRecordView
封装了列表视图控件
封装了树视图控件 从HTML文件和其它Microsoft Internet Explorer WebBrowser控 件支持的媒体创建视图 给Cview添加滚动功能,是FormView的基类 实现可滚动的从对话框模板创建的“窗体”视图 CFormView的派生类,用来显示从ODBC数据库获得的记录 CrecordView的DAO版本 CrecordView的OLE DB版本
1.6 ScrollDemo
见示例代码
Biblioteka Baidu
1.8 普通视图转换为滚动视图
在视图的头文件和CPP文件,将所有 出现的CView改为CScrollView,除了 在函数参数列表中出现的CView*。 如果还没有覆盖的话就覆盖 OnInitialUpdate,并插入对 SetScrollSizes的调用。
滚动视图、HTML视图以及其 他类型视图
参考书
《MFC Windows 程序设计》第10章
MFC视图类
类名
CView CCtrlView CEditView CRichEditView 所有视图类的基类 CeditView,CrichEditView,ClistView和CtreeView类的基类,用来 创建基于其他控件类型的视图类 封装了多行编辑控件,并添加了打印、查找以及查找替换功能 封装了多功能编辑控件
SetScrollSize(MM_TEXT,CSize(1280,1024));//1280*1024像素 SetScrollSize(MM_LOENGLISH,CSize(850,1100));//8.5*11英寸 SetScrollSize(MM_LOENGLISH,CSize(850,1100),CSize(200,200 ),CSize(25,25));
1.2 CScrollView基础
创建滚动视图的步骤:
在AppWizard创建工程的第6步,视图基 类选择CScrollView。 覆盖视图类的OnInitialUpdate,并调用 SetScrollSize来指定视图的逻辑尺寸。通 过此方式可以告诉MFC可滚动视图占据 区域的大小。MFC默认设置为高宽为 100象素。 把视图当作常规CView来实现OnDraw。
Refresh Stop
重新加载当前显示的资源 停止加载资源
2.3 代码举例
Navigate("http://www.baidu.com"); Navigate("file://c:/my documents");
3.1 树形视图
树形视图显示一种树形结构,包含的项目有文本 和图形。项目还包含子项目的集合,或“子树”, 可以展开和折叠其中包含的信息。 树形视图用来描述固定分层的数据最为理想,如 描述硬盘的路径结构。 CTreeView相当简单,这是由于它从树形视图控 件中派生了大多数功能。在MFC中,CTreeCtrl 给树形视图提供了程序提供了程序接口。 CTreeView::GetTreeCtrl返回该控件的CTreeCtrl 的引用。如:
1.2 SetScrollSize
此函数接受4个参数,其中后2个为可选。按顺序 分别为:
指定映射模式的整数(必要) 指定视图的逻辑尺寸的SIZE结构或CSize对象(必要) SIZE结构或CSize对象,用来指定“页尺寸”,即单 击滚动轴时MFC对视图的滚动量(可选) SIZE结构或CSize对象,用来指定“行尺寸”,即单 击滚动箭头时MFC对视图的滚动量(可选) 如:
描述
GetLocationURL
检索当前显示的资源的URL,例如 http://www.microsoft.com/ 或 file://C:/HTML Files/Clock.htm
转移到历史列表中的前一项 转移到历史列表中的后一项 显示指定URL处的资源
GoBack GoForward Navigate
1.1 滚动视图
CScrollView给CView添加了基本的滚动功 能。让MFC负责响应滚动消息所要做的涉 及滚动窗口的大量工作。 它还包含一些成员函数,可以用来执行一 些基本任务,如果滚动到指定位置和检索 当前滚动的位置。 CScrollView完全靠自己处理滚动任务,所 以除了实现OnDraw以外可以对它不做任 何工作。能常,在CScrollView中实现 OnDraw的方法与在CView中完全相同。
2.1 HTML视图
CHtmlView可以显示HTML文档。您 只要提供一个URL,用来指定Internet 上,内联网上或本地硬盘上的文档, CHtmlView就会以Internet Explorer的 方式显示该文档。
2.2 CHtmlView操作
类名
GetBusy GetLocationName 表明是否在进行下载 如果显示的HTML页,则检索该页的标题;如果当 前显示的是文件或文件夹,则检索文件或文件夹的 名字
1.4 CScrollView操作
CPoint pos = GetScrollPosition();//检索 当前水平或垂直滚动位置。 ScrollToPosition(CPoint(100,100));//滚 动到指定的位置。 CSize size - GetTotalSize();//测量视图 的逻辑宽度和高度。 SetScaleToFitSize(GetTotalSize());//放 缩到指定大小。