C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 244 - Рамка окна / MFC шаг за шагом / Visual C++

Шаг 244 - Рамка окна

Для реализации рамки окна разработан базовый класс CFrameWnd. Этот класс не только сам является рамкой окна, но и базовым классом для других классов рамок окон. Приложения на основе MDI более сложны в организации и содержат две рамки окон в отличии от приложений SDI, где одна рамка. На рисунке ниже показаны различия.

244_1.gif (2563 b)

Итак, мы имеем разные классы рамок для SDI:

CFrameWnd

И MDI приложений:

CMDIFrameWnd
CMDIChildWnd

С рамкой тесно связано понятие окна. Окно при появлении на экране ограничивается рамкой с необязательными дополнительными элементами типа меню, панели инструментов, строки состояния и так далее. Рамка переадресует получаемые сообщения своим видам. За управление рамкой, и в частности, изменение размеров, перемещение отвечает Windows. Класс рамки отвечает за:

  1. Передачу команд и извещений в активный вид.
  2. Управление размещением элементов управления, дочерних окон внутри своей области. Во время циклов ожидания обновляет панели инструментов и меню.
  3. Управление полосой основного меню. В момент раскрытия меню использует механизм UPDATE_COMMAND_UI для установки активности пунктов меню в состояние активен, заблокирован, помечен и так далее. При выборе меню выводит надпись в строку состояния.
  4. Может использовать таблицу акселераторов для транспортирования, комбинаций клавиш в командах.
  5. Управление механизмом контекстно зависимой справки и режимом предварительного просмотра.
  6. Поддержку операций drag-and-drop для файлов.
  7. Если рамка является главным окно приложения, то при закрытии предлогает сохранение документа.

Любое приложение состоит из двух компонентов: рамки CFrameWnd и рабочей области внутри рамки CView. Общий вид приложения можно представить так.

244_2.gif (1798 b)


| |
Автор Каев Артем.
[AD]