Введение в программирование

Реализация интерфейса пользователя


Классы отображений содержат набор методов, которые выполняют обработку событий, инициированных пользователем. Переопределение этих методов позволяет задавать:

  • обработку сообщений Windows от мыши и от клавиатуры;
  • обработку выполнения пунктов меню, нажатия кнопок инструментария и клавиш-акселераторов.

Реализация интерфейса пользователя может включать в себя обработку:

  • определяемых пользователем пунктов меню;
  • пунктов меню, определяющих стандартные действия, такие как Edit|Copy, Edit|Cut и Edit|Paste.

MFC поддерживает реализацию трех типов интерфейса для отображения одного документа посредством нескольких отображений:

  • Отображение объектов одного класса в отдельных окнах документа (поддержка команды Window| New).


  • Отображение объектов одного класса в одном разделенном окне документа (поддержка команды Window|Split). Создается несколько объектов отображения одного класса.


  • Отображение объектов различных классов в одном окне документа.


Поддержка работы с разделенным окном реализована в классе CSplitterWnd.Разделенным окном является обычное окно, разбитое на несколько панелей (окон) и содержащее один и тот же документ.

Цикл жизни документа (а совместно с ним - и окна-рамки, и отображения) в MDI-приложении состоит из:

  1. вызова конструктора документа;
  2. вызова метода OnNewDocument или OnOpenDocument для каждого нового документа;
  3. отображения и обработки документа;
  4. удаления данных вызовом метода DeleteContents;
  5. вызова деструктора документа.

Цикл жизни документа (а совместно с ним - и окна-рамки и отображения) в SDI-приложении отличается тем, что вызов конструктора происходит только один раз при первоначальном создании документа; аналогично и проходит вызов деструктора. А для каждого повторно создаваемого или открываемого документа выполняются только этапы 2-3-4.



Содержание раздела