视图句柄的其他成员函数并解释所有用户输入。 通常会在视图类中定义消息处理程序成员函数来处理:
这些消息处理程序成员函数将以下作解释为数据输入、选择或编辑,包括将数据移入和移出剪贴板:
鼠标移动和单击、拖动和双击
击键
菜单命令
视图处理哪些 Windows 消息取决于应用程序的需求。
消息处理和映射主题 介绍了如何将菜单项和其他用户界面对象分配给命令以及如何将命令绑定到处理程序函数。 消息处理和映射主题 还介绍了 MFC 如何路由命令并将标准 Windows 消息发送到包含这些命令的处理程序的对象。
例如,应用程序可能需要在视图中实现直接鼠标绘图。 Scribble 示例演示如何分别处理WM_LBUTTONDOWN、WM_MOUSEMOVE和WM_LBUTTONUP消息,以开始、继续和结束线条段的绘制。 另一方面,有时可能需要将视图中的鼠标单击解释为所选内容。 视图的 OnLButtonDown
处理程序函数将确定用户是绘制还是选择。 如果选择,处理程序将确定单击是否在视图中某个对象的边界内,如果是这样,请更改显示以显示为所选对象。
视图还可能处理某些菜单命令,例如“编辑”菜单中的命令,以便使用剪贴板剪切、复制、粘贴或删除所选数据。 此类处理程序将调用类 CWnd
的一些与剪贴板相关的成员函数,以便向剪贴板或从剪贴板传输所选数据项。