CScrollView选件类

CView 以滚动功能。

class CScrollView : public CView

成员

3t073d82.collapse_all(zh-cn,VS.110).gif受保护的构造函数

名称

说明

CScrollView::CScrollView

构造 CScrollView 对象。

3t073d82.collapse_all(zh-cn,VS.110).gif公共方法

名称

说明

CScrollView::CheckScrollBars

指示滚动视图是否有水平和垂直滚动条。

CScrollView::FillOutsideRect

加载视图区域中移动的范围之外的。

CScrollView::GetDeviceScrollPosition

获取在组件单位的当前滚动位置。

CScrollView::GetDeviceScrollSizes

获取当前映射模式、总大小和一个滚动视图的行和页大小。 范围在组件度量单位。

CScrollView::GetScrollPosition

获取在逻辑单位的当前滚动位置。

CScrollView::GetTotalSize

获取滚动视图的总大小(以逻辑单位的。

CScrollView::ResizeParentToFit

导致视图的范围指定其帧的大小。

CScrollView::ScrollToPosition

在逻辑单位滚动视图对给定的点,指定。

CScrollView::SetScaleToFitSize

放入滚动到视图缩放以适应模式。

CScrollView::SetScrollSizes

将滚动视图的映射模式,总大小,并且,水平和垂直滚动量。

备注

您可以处理标准滚动从 CView 任何派生类的选件通过重写消息映射的 OnHScrollOnVScroll 成员函数。 但是,CScrollView 将下列功能添加到其 CView 功能:

  • 它管理窗口和视区大小和映射方案。

  • 它会自动将响应滚动条消息。

  • 它会自动将响应从键盘、非滚动鼠标滚轮或IntelliMouse的消息。

自动滚动以响应从键盘消息,添加WM_KEYDOWN消息和测试VK_DOWN,VK_PREV和调用 SetScrollPos

通过重写消息映射的 OnMouseWheelOnRegisteredMouseWheel 成员可以处理鼠标滚轮滚动功能。 当它们供 CScrollView,这些成员函数支持 WM_MOUSEWHEEL建议的行为,轮旋转消息。

若要利用自动滚动,从 CScrollView 派生您的视图选件类而不是从 CView。 在视图首次创建时,因此,如果要计算基于文档的大小与滚动视图的范围,请调用从 CView::OnInitialUpdateCView::OnUpdate重写中 SetScrollSizes 成员函数。 (必须编写自己查询文档的大小自己的代码。 有关示例,请参见 SCRIBBLE示例。)

SetScrollSizes 成员函数的调用将视图的映射架构、滚动视图的总尺寸和沿水平和垂直滚动。 所有范围在逻辑单元。 视图的逻辑范围从存储在文档中的数据通常计算,但是,您可以在某些情况下若要指定固定大小。 以两种方法的示例,请参见 CScrollView::SetScrollSizes

您垂直在逻辑单位指定为水平移动和。 默认情况下,因此,如果用户单击一个滚动条轴在滚动框外,CScrollView 移动“页”。如果用户单击卷动箭头滚动条的任一端,CScrollView 移动一“行”。默认情况下,页是1/10视图的总大小;行是1/10页大小。 通过在 SetScrollSizes 成员函数的自定义范围重写这些默认值。 例如,可以将该级别的范围到总大小并将垂直大小的宽度的某个部分到一行的高度在当前字体的。

而不是滚动,CScrollView 可以自动缩放视图到当前窗口大小。 在此模式下,视图没有滚动条,而逻辑视图拉伸或收缩正确地适应窗口的工作区。 若要使用此缩放以适应功能,请调用 CScrollView::SetScaleToFitSize。 (调用 SetScaleToFitSizeSetScrollSizes,但不能同时定义两者。)

在派生的视图选件类的 OnDraw 成员函数调用之前,CScrollView 为其传递给 OnDraw的 CPaintDC 设备上下文对象自动调整视区原点。

用于滚动窗口中调整视区原点,CScrollView 重写 CView::OnPrepareDC。 这种调整为 CScrollView 传递给 OnDraw的 CPaintDC 设备上下文是自动的,但是,必须调用 CScrollView::OnPrepareDC 使用的任何其他设备上下文(例如,CClientDC。 您可以重写 CScrollView::OnPrepareDC 设置钢笔、背景色和其他绘图特性,但是,调用基类执行缩放。

如下面用例所示,滚动条能应用于三个位置显示相对于视图,例如:

  • 使用 WS_HSCROLLWS_VSCROLLWindows样式,标准窗口样式滚动条可以为视图设置。

  • 滚动条控件还能添加到包含视图的框架,框架向前 WM_HSCROLLWM_VSCROLL 消息从框架窗口到为当前活动的视图情况下。

  • 框架向前还将从 CSplitterWnd 拆分控件的消息至此有效的拆分窗格(视图)。 在放置在与具有滚动条的 CSplitterWndCScrollView 对象将使用共享部分而不是创建它的属性。

有关使用 CScrollView的更多信息,请参见 文档/视图结构派生的视图选件类可在MFC

继承层次结构

CObject

CCmdTarget

CWnd

CView

CScrollView

要求

**标头:**afxwin.h

请参见

参考

CView选件类

层次结构图

CView选件类

创建服务

概念

MFC示例DIBLOOK