Архитектура Microsoft Windows для разработчиков

Шина ISA, шина pci на материнской плате, шина agp. | Великолепная школьная форма из Сибири.


Занятие 3. Взаимодействие Windows и приложения

(Продолжительность занятия 15 минут)

Обычно приложения Microsoft Windows и их компоненты выполняются в индивидуальных окнах. Тем не менее Windows поддерживает и символьно-ориентированные консольные приложения. Это занятие посвящено особенностям консольных и оконных приложений; кроме того, здесь рассмотрены три типа оконных интерфейсов.

 
Изучив материал этого занятия, Вы сможете:

  • сопоставить консольные и оконные приложения;
  • описать различия многодокументного и однодокументного интерфейса Windows Explorer;
  • создать многодокументный интерфейс.

Консольные приложения

Консольные приложения работают в командном окне. Их запускают командой Windows Run или из командной строки. Хотя консольное приложение работает в окне (рис. 12.9), ему недоступны графические возможности операционной системы Windows . В качестве примера консольного приложения можно привести программу, работающую в окне MS-DOS Windows 95. > Запуск программы PING

  1. Нажмите кнопку Start и выберите в меню пункт Run.
  2. В диалоговом окне Run наберите команду:

    ping 127.0.0.1

    Запустится программа PING.

В Visual C++ Вы можете обмениваться информацией с консольными приложениями средствами функций стандартного ввода/вывода [например, printf() и scanf()] .Windows поддерживает механизм перетаскивания, что позволяет организовать некоторое подобие совместного использования данных консольным и оконным приложениями.

12-13.jpg

Рис. 12.9 Внешний вид оконного и консольного приложений

Оконные приложения

Существуют три варианта пользовательских интерфейсов оконных приложений: многодокументный (Multiple-Document Interface, MDI), однодокумент-ный (Single-Document Interface, SDI) и интерфейс Windows Explorer.

SDI-приложение, например Notepad.exe, имеет только одно окно. Для MDI-приложения, например Microsoft Word, характерно наличие нескольких окон, подчиненных одному родительскому. Такие языки разработки, как Visual Basic 5.0, позволяют быстро и просто создавать SDI- и MDI-приложения.

Выбирая тип интерфейса, руководствуйтесь назначением приложения. Если оно предназначено для обработки страховых претензий, лучше выбрать тип MDI, так как пользователю наверняка потребуется работать одновременно с несколькими претензиями (например, чтобы сравнить их). С другой стороны, для календаря вполне достаточно интерфейса SDI: пользователь вряд ли одновременно откроет два одинаковых календаря.

Многодокументный интерфейс

Такие приложения, как Microsoft Excel и Microsoft Word for Windows, используют MDI-интерфейс, позволяющий одновременно отображать несколько документов, каждый — в своем окне (рис. 12.10). MDI-приложения обычно снабжены меню Window для переключения между окнами документов.

Разрабатывая MDI-приложения на Visual Basic Вы можете присвоить свойству меню WindowList значение True. Если установить флажок WindowList объекта Menu в редакторе Menu Editor, в меню отобразится список открытых дочерних окон MDI. Только один пункт меню формы может иметь установленное свойство WindowList.

12-14.jpg

Рис. 12.10 Многодокументный интерфейс

Создание многодокументного интерфейса

В этом упражнении Вы создадите MDl-приложение, выводящее растровое изображение.

> Создание MDI-приложения

  1. Создайте в Visual Basic новый проект типа Standard EXE.
  2. Переименуйте форму Form1 в frmChild.
  3. Присвойте свойству MDIChild формы frmChild значение True.
  4. Добавьте в приложение MDI-форму.
  5. Измените размер MDI-формы, чтобы она могла содержать дочерние окна.
  6. Установите свойства MDI-формы, перечисленные ниже.

Свойство

Значение

Name

mdiMain

Caption

MDI Main Form

StartUpPosition

2-CenterScreen

  1. В окне Project Properties выберите в качестве Startup Object объект mdiMain.
  2. Создайте для mdiMain меню, включив в меню File пункты New Child и Exit. Установите свойства, перечисленные ниже.

Меню

Свойство

Значение

File

Name

mnuFile

Caption

&File

New Child

Name

mnuNewChild

Caption

&New Child Window

Caption

E&xit

Window

Name

mnuWindow

Caption

&Windows

WindowList

установлен

  1. Добавьте следующий код в событие для щелчка mnuNewChild:

    Dim newchild As Form

    Static child_num As Integer

    child_num = child_num + 1

    Set newchild = New frmChild

    newchild.Caption = "Дочерняя форма #" & child_num

    newchild.Visible = True

  2. Добавьте в событие mnuExit_CIick код закрытия приложения.

> Вывод на экран растрового изображения

  1. Добавьте на форму frmChild поле изображения и кнопку.
  2. Установите свойства, перечисленные ниже.

Элемент управления

Свойство

Значение

Picture Box

Name

PicMain

Command Button

Name

CmdLoad

Caption

Load Picture

  1. Добавьте следующий код в событие Click кнопки cmdLoad:

    Set picMain.Picture = LoadPicture("c:\program files" & "\devstudio\vb\graphics\metafile\arrows\3darrow1.wmf")

  2. Сохраните изменения и протестируйте приложение.

Однодокументный интерфейс

Пример SDI-интерфейса — приложение Microsoft WordPad, входящее в состав Microsoft Windows (рис. 12.11). Оно позволяет открывать только один документ — чтобы открыть второй, нужно сначала закрыть первый.

SD1 — самый распространенный тип интерфейса приложений; большинство примеров в руководстве Visual Basic Programmer's Guide используют именно SDI-интерфейс.

12-15.jpg

Рис. 12.11 Однодокументный интерфейс

Интерфейс Windows Explorer

Кроме двух основных типов интерфейса — SDI и MDI, существует еще один, причем весьма популярный — Windows Explorer (рис. 12.12). Он представляет собой одно окно, разделенное на две области: одна (обычно левая) содержит древовидное представление иерархии объектов, другая же представляет собой область для отображения текущего объекта. Этот тип интерфейса больше других подходит для перемещения среди множества документов, изображений или файлов.

12-16.jpg

Рис. 12.12 Интерфейс Windows Explorer

Резюме

Windows предлагает три разновидности интерфейса: многодокументный (Multiple-Document Interface, MDI), однодокументный (Single-Document Interface, SDI) и интерфейс Windows Explorer. MDI-интерфейс позволяет отображать несколько документов одновременно, каждый — в своем окне. Microsoft Excel и Word for Windows имеют MDI-интерфейс. SDI-приложения выводят одно окно и не имеют дочерних окон. Microsoft WordPad — пример однодокументного интерфейса. Интерфейс Windows Explorer позволяет перемещаться между множеством документов или файлов. Левая часть окна этого интерфейса отображает дерево объектов, а правая — конкретный объект.