Поделиться через


Образец MDIDOCVW: демонстрация интерфейса MDI с использованием архитектуры документов и представлений

Обновлен: Ноябрь 2007

В образце MDIDOCVW используется поддержка интерфейса MDI, обеспечиваемая MFC, и архитектура документов и представлений. Образец содержит документы двух типов: Hello (который печатает строку в представлении) и Bounce (который рисует прыгающий мячик в представлении). В образце MDIDOCVW также показан таймер Microsoft Windows классы CColorDialog и CBitmap, а также изменение стандартного курсора для окна.

Образец MDIDOCVW создает родительское окно с двумя дочерними окнами интерфейса MDI различного типа: окно Bounce, в котором прыгает мячик, и окно Hello, в котором просто выводится текст "Hello, World!"

Образец, использующий поддержку интерфейса MDI без архитектуры документов и представлений см. в разделе MDI.

cstcs513.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению.

Чтобы получить образцы и инструкции по их установке, выполните следующие действия.

  • В меню Справка среды Visual Studio выберите пункт Примеры.

    Дополнительные сведения см. в разделе Поиск файлов примеров.

  • Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.

  • Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.

Построение и запуск образца

Построение и запуск образца MDIDOCVW

  1. Откройте решение mdi.sln.

  2. В меню Построение выберите команду Построить.

  3. В меню Отладка выберите пункт Запуск без отладки.

Выберите команду New Bounce или New Hello в меню File, чтобы создать новое дочернее окно интерфейса MDI. В обоих типах дочерних окон интерфейса MDI определяется видимость меню во время активности. Меню Color присутствует в окнах обоих типов. Когда из этого меню выбирается цвет, изменяется цвет прыгающего мячика или текста Hello. Выберите цвет Custom, чтобы открыть диалоговое окно Color, из которого можно выбрать нестандартный цвет.

В окне Bounce также находится меню Speed, из которого можно выбрать скорость, с которой мячик перемещается по экрану.

В панели инструментов реализовано большинство команд меню. В панели инструментов также реализованы пять кнопок с флажками для пяти основных цветов.

Изменение стандартного курсора

В классах CBounceView и CHelloView переопределяется метод Create, однако такое переопределение не является обязательным для использования поддержки интерфейса MDI в платформе. Версия метода Create, переопределенного в классе CBounceView, показывает, как изменить стандартный курсор. Для изменения стандартного курсора окна необходимо зарегистрировать новый класс WNDCLASS, вызвав метод AfxRegisterWndClass и передав WNDCLASS в ходе вызова Create.

Ключевые слова

В этом образце показаны следующие ключевые слова:

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

cstcs513.alert_note(ru-ru,VS.90).gifПримечание.

Некоторые образцы, включая данный, не модифицировались с учетом изменений в мастерах, библиотеках и компиляторе Visual C++, однако по-прежнему демонстрируют выполнение требуемой задачи.

См. также

Другие ресурсы

Примеры MFC