文档详情

vc从入门到精通章视图对象.pdf

发布:2025-04-17约4.33千字共5页下载文档
文本预览下载声明

视图对象的主要方法

视图的作用是显示文档中的数据,用户也可以通过视图修改文档中的数据。在视图CView中还封装了打印和打印预览功能,使打印

工作变得简单了。下面介绍视图对象的主要方法。

1DoPreparePrinting方法

该方法用于显示打印框,创建画布。语法格式如下:

BOOLDoPreparePrinting(CPrintInfo*pInfo);

说明:PInfo标识打印信息。如果进行打印或打印预览操作,返回值为非零,否则为零。

2GetDocument方法

该方法用于获取视图关联的文档对象。语法格式如下:

CDocument*GetDocument()const;

3OnDraw方法

该方法用于在视图上绘制数据。语法格式如下:

virtualvoidOnDraw(CDC*pDC)=0;

4OnBeginPrinting方法

该方法在打印或打印预览之前调用,用户可以改写该方法,以实现特殊的功能。语法格式如下:

virtualvoidOnBeginPrintinC*pDrintInfo*pInfo);

说明:pDC标识一个画布指针。pInfo包含了打印信息,用户可以在该方法中修改打印信息。

5OnEndPrinting方法

该方法在打印或打印预览结束后,由框架调用。用户可以改写该方法,以实现特殊的功能。通常情况下,在该方法中释放

OnBeginPrinting方法中分配的GDI资源。语法格式如下:

virtualvoidOnEndPrintinC*pDrintInfo*pInfo);

说明:pDC标识一个画布指针。pInfo包含了打印信息,用户可以在该方法中修改打印信息。

6OnEndPrintPreview方法

该方法在用户打印预览时由框架调用。用户可以改写该方法,在打印预览结束时实现其他功能。语法格式如下:

virtualvoidOnEndPrintPreview(CDC*pDrintInfo*pInfo,POINTpoint,CPreviewView*

pView);

说明:pDC标识设备指针。pInfo记录打印信息。point标识最后一页上的点。PView标识预览视图指针。

7OnPrepareDC方法

该方法在OnDraw方法或OnPrint方法被调用前,由框架调用。默认情况下,该方法没有实现任何功能,用户可以在派生类中改写该

方法,设置画布的属性。语法格式如下:

virtualvoidOnPrepareDC(CDC*pDrintInfo*pInfo=NULL);

pDC标识一个画布指针。pInfo标识打印信息。如果是由绘画导致调用该方法,则pInfo为NULL;如果是由打印或打印预览导致调用

该方法,则pInfo包含了打印信息。

8OnPrint方法

在打印或打印预览文档中的每一页时,由框架调用该方法。语法格式如下:

视图的初始化

前面经介绍,视图是通过调框架的CreateView方法创的当视图调用Create方法时,会通

过::CreateWindowEx方法,WM_Create消息,执行OnCreate事处理函数,将自身添加到

文档对象的图列表中那么视图在被创建时,是如何初始化的呢?

这要查看文档模板的OpenDocumentFile方法。OpenDocumentFile方法的结尾处调用了

InitialUpdateFrame方法初始化更新,而该方法接用了框架对象的InitialUpdateFrame方法

,在框架对象的InitialUpdateFrame方法中向所有视发送了WM_INITIALUPDATE消息

SendMessageToDescendants(WMINITIALUPDATE,0,0,TRUE,TRUE);

这样,视图对象将处理WMINITIALUPDATE消息,执行OnInitialUpdate方法,而该方法直接调

用OnUpdate方法更新数据。

voidCView::OnInitialUpdate()

{

OnUpdate(NULL,0,NULL);

}

voidCView::OnUpdate(CView*pSender,LPARAM/*lHint*/,

显示全部
相似文档