Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
System programming / Методические указания / Методичка к лабораторным работам (рус).doc
Скачиваний:
48
Добавлен:
08.05.2015
Размер:
218.11 Кб
Скачать

7.5. Контрольные вопросы и задания

  1. Поясните принцип многозадачности современных операционных систем.

  2. Чем отличается многозадачность от многопоточности?

  3. Каким образом аппаратно решаются задачи обеспечения многозадачности?

  4. В чем заключаются особенности невытесняющей многозадачности?

  5. Приведите примеры использования многопоточности в прикладных программах.

  6. Каким образом осуществляется синхронизация потоков?

  7. Что такое "критический раздел"?

  8. Что такое "событие"?

  9. Объясните назначение локальной и глобальной памяти потоков.

8. Многооконный интерфейс

8.1. Цель работы

Ознакомление с технологией создания многооконного интерфейса (Multiple Document Interface, MDI), получение практических навыков по составлению, написанию и отладке программ, позволяющих работать с несколькими документами (форматированными файлами) в одном приложении.

8.2. Указания по подготовке к выполнению лабораторной работы

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

При подготовке к работе необходимо изучить конспект лекций по указанной теме, методические указания, а также разделы, указанные в [16, c.962-987], [17, c.199-271].

7.3. Обзор темы работы

Многооконный интерфейс (Multiple Document Interface, MDI) является спецификацией для приложений, которые обрабатывают документы в Microsoft Windows. Спецификация описывает структуру окон и пользовательский интерфейс, который позволяет пользователю работать с несколькими документами внутри одного приложения (например, с документами в текстовом процессоре или с таблицами в программе электронных таблиц). Точно также, как Windows поддерживает несколько окон приложений на одном экране, приложение MDI поддерживает несколько окон документов в одной рабочей области.

Данная спецификация должна поддерживать следующие возможности:

  1. Окно документа MDI может быть свернуто. Соответствующий документу значок выводится в нижней части рабочей области.

  2. Окно документа может быть развернуто. В этом случае строка заголовка окна документа исчезает, и имя файла оказывается присоединенным к имени приложения в строке заголовка окна приложения. Значок системного меню окна документа становится первым пунктом строки основного меню окна приложения. Значок для восстановления размера окна документа становится последним пунктом строки основного меню и оказывается крайним справа.

  3. Системные быстрые клавиши для закрытия окна документа те же, что и для закрытия главного окна, за исключением того, что клавиша <Ctrl> используется вместо клавиши <Alt>.

  4. Если приложение имеет возможность поддерживать несколько типов дочерних окон (например, электронные таблицы и диаграммы в Microsoft Excel), то меню должно отражать операции, ассоциированные с каждым типом документа. Для этого требуется, чтобы программа изменяла меню, когда становится активным окно документа другого типа. Кроме того, при отсутствии окна документа, в меню должны быть представлены только операции, связанные с открытием нового документа.

  5. В строке основного меню имеется пункт Window. По соглашению, он является последним пунктом строки основного меню, исключая Help. В этом подменю обычно имеются опции для упорядочивания окон документов внутри рабочей области. Окна документов можно расположить «каскадно» (cascaded), «мозаично» (tiled), отобразить все документы.

Окно приложения в целом называется главным окном (frame window). Приложение MDI создает также окно-администратор (client window) на основе предопределенного класса окна MDICLIENT. Окна документов являются дочерними окнами окна-администратора, которое, в свою очередь, является дочерним окном главного окна. Для главного окна и для каждого типа дочерних окон, которые поддерживаются в приложении, необходим класс окна и оконная процедура. Для окна-администратора оконная процедура не нужна, поскольку ее класс окна предварительно зарегистрирован в системе.

Во время выполнения работы использовать уже изученные ранее функции регистрации класса и создания окон. Особое внимание обратить на обработку событий, поступающих в программу, а также изменению параметров и объектов программы (например, меню) при работе с несколькими документами.