Занятие 3. Взаимодействие Windows и приложения
(Продолжительность занятия 15 минут)
Обычно приложения Microsoft Windows и их компоненты выполняются в индивидуальных окнах. Тем не менее Windows поддерживает и символьно-ориентированные консольные приложения. Это занятие посвящено особенностям консольных и оконных приложений; кроме того, здесь рассмотрены три типа оконных интерфейсов.
Консольные приложения
Консольные приложения работают в командном окне. Их запускают командой Windows Run или из командной строки. Хотя консольное приложение работает в окне (рис. 12.9), ему недоступны графические возможности операционной системы Windows . В качестве примера консольного приложения можно привести программу, работающую в окне MS-DOS Windows 95. > Запуск программы PING
ping 127.0.0.1
Запустится программа PING.
В Visual C++ Вы можете обмениваться информацией с консольными приложениями средствами функций стандартного ввода/вывода [например, printf() и scanf()] .Windows поддерживает механизм перетаскивания, что позволяет организовать некоторое подобие совместного использования данных консольным и оконным приложениями.
Рис. 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.10 Многодокументный интерфейс
Создание многодокументного интерфейса
В этом упражнении Вы создадите MDl-приложение, выводящее растровое изображение.
> Создание MDI-приложения
Свойство |
Значение |
Name |
mdiMain |
Caption |
MDI Main Form |
StartUpPosition |
2-CenterScreen |
Меню |
Свойство |
Значение |
File
|
Name |
mnuFile |
Caption |
&File |
|
New Child
|
Name |
mnuNewChild |
Caption |
&New Child Window |
|
Caption |
E&xit |
|
Window
|
Name |
mnuWindow |
Caption |
&Windows |
|
WindowList |
установлен |
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
> Вывод на экран растрового изображения
Элемент управления |
Свойство |
Значение |
Picture Box |
Name |
PicMain |
Command Button |
Name |
CmdLoad |
Caption |
Load Picture |
|
Set picMain.Picture = LoadPicture("c:\program files" & "\devstudio\vb\graphics\metafile\arrows\3darrow1.wmf")
Однодокументный интерфейс
Пример SDI-интерфейса — приложение Microsoft WordPad, входящее в состав Microsoft Windows (рис. 12.11). Оно позволяет открывать только один документ — чтобы открыть второй, нужно сначала закрыть первый.
SD1 — самый распространенный тип интерфейса приложений; большинство примеров в руководстве Visual Basic Programmer's Guide используют именно SDI-интерфейс.
Рис. 12.11 Однодокументный интерфейс
Интерфейс Windows Explorer
Кроме двух основных типов интерфейса — SDI и MDI, существует еще один, причем весьма популярный — Windows Explorer (рис. 12.12). Он представляет собой одно окно, разделенное на две области: одна (обычно левая) содержит древовидное представление иерархии объектов, другая же представляет собой область для отображения текущего объекта. Этот тип интерфейса больше других подходит для перемещения среди множества документов, изображений или файлов.
Рис. 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 позволяет перемещаться между множеством документов или файлов. Левая часть окна этого интерфейса отображает дерево объектов, а правая — конкретный объект.