MDIDOCVW 示例:演示使用文档/视图结构的 MDI

更新:2007 年 11 月

MDIDOCVW 示例使用 MFC 的多文档界面 (MDI) 支持和文档/视图结构。此示例包含两种文档类型:“Hello”(在视图中打印出字符串)和“Bounce”(在视图中显示跳动的彩球)。MDIDOCVW 还阐释 Microsoft Windows 计时器、CColorDialogCBitmap 以及如何更改窗口的默认光标。

MDIDOCVW 示例提供了一个父窗口,该窗口包含两个不同类型的 MDI 子窗口:一个“Bounce”窗口,该窗口中有一个跳动的球;另一个是“Hello”窗口,该窗口仅显示文本“Hello, World!”。

有关使用不带文档/视图结构的 MDI 支持的示例,请参见 MDI

安全说明:

提供该示例代码是为了阐释一个概念,并不代表着最安全的编码实践,因此不应在应用程序或网站中使用该示例代码。对于超出本示例代码的预期用途以外的使用所造成的偶然或继发性损失,Microsoft 不承担任何责任。

获取示例和安装示例的说明:

  • 在 Visual Studio 的“帮助”菜单上,单击“示例”。

    有关更多信息,请参见定位示例文件

  • 示例的最新版本和完整列表可以从 Visual Studio 2008 Samples page(Visual Studio 2008 示例页面)联机获取。

  • 还可以在计算机的硬盘上查找示例。默认情况下,示例和自述文件将复制到 \Program Files\Visual Studio 9.0\Samples\ 下的文件夹中。对于 Visual Studio 速成版,所有示例都位于联机位置。

生成并运行示例

生成并运行 MDIDOCVW 示例

  1. 打开解决方案 mdi.sln。

  2. 在“生成”菜单中单击“生成”。

  3. 在“调试”菜单中,单击“开始执行(不调试)”。

单击“File”菜单上的“New Bounce”或“New Hello”以创建新的 MDI 子窗口。两种类型的 MDI 子窗口确定在它们活动时显示什么菜单。两种类型的窗口都有“Color”菜单。从此菜单中选择颜色时,跳动的球或 Hello 文本的颜色会更新。单击“Custom”调用“Color”对话框,从中可以选择自定义颜色。

“Bounce”窗口还有一个“Speed”菜单,从中可选择球在屏幕上移动的速度。

工具栏实现大多数菜单命令。工具栏还为五种基本颜色实现复选框按钮。

更改默认光标

尽管 CBounceViewCHelloView 都重写 Create,但该重写对于利用框架的 MDI 支持并不是必需的。CBounceView 类中的 Create 重写阐释了如何更改默认光标。更改窗口的默认光标需要注册新的 WNDCLASS,方法是调用 AfxRegisterWndClass 并在 Create 调用中传递 WNDCLASS 的名称。

关键字

此示例说明以下关键字:

AfxRegisterWndClass;CBitmap::CreateCompatibleBitmap;CCmdUI::SetCheck;CColorDialog::DoModal;CColorDialog::GetColor;CDC::BitBlt;CDC::CreateCompatibleDC;CDC::DeleteDC;CDC::DrawText;CDC::Ellipse;CDC::FillRect;CDC::GetDeviceCaps;CDC::SelectObject;CDC::SetBkColor;CDC::SetTextColor;CFrameWnd::LoadFrame;CFrameWnd::rectDefault;CGdiObject::DeleteObject;CMDIChildWnd::Create;CWinApp::InitInstance;CWnd::DestroyWindow;CWnd::GetClientRect;CWnd::GetCurrentMessage;CWnd::GetDC;CWnd::KillTimer;CWnd::MessageBox;CWnd::OnCreate;CWnd::OnSize;CWnd::OnTimer;CWnd::ReleaseDC;CWnd::SetTimer;CWnd::ShowWindow;CWnd::UpdateWindow;GetSysColor;LOWORD;RGB;max;min

说明:

某些示例(如此示例)尚未经过修改以反映 Visual C++ 向导、库和编译器中所做的更改,但仍演示了如何完成所需的任务。

请参见

其他资源

MFC 示例