Занятие 1. Соглашения Windows по пользовательскому интерфейсу

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

Одно из основных преимуществ операционной системы Windows — стандартный интерфейс всех приложений. Пользователь, знакомый с одним приложением этого семейства, легко изучит другие.

Например, в большинстве Windows-приложений строка меню (оно расположено в верхней части окна) начинается с меню File, продолжается дополнительными меню — например, Edit и Tools — и завершается меню справочной системы (Help). Возможно, название Documents нравится Вам больше, чем File, или Вы сочтете, что меню Help лучше смотрится слева. В принципе, ничто не мешает Вам откорректировать свою программу, но отклонение от общепринятых соглашений сделает ее менее удобной. Если Вы измените стандартный формат, пользователю при каждом переключении между Вашей и другими приложениями придется вспоминать, что где находится и как называется.

Четко определенная структура меню — всего лишь первый шаг на пути превращения Вашей программы в удобную рабочую среду. Другие правила не касаются пользовательских интерфейсов; это и поведение приложения на разных платформах, и возможность одновременного запуска нескольких копий приложения. На первом занятии рассказывается о нормативах, определяющих соответствие приложений архитектуре Windows.

 


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

OLE Drag-and-Drop

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

Функция OLE drag-and-drop («перетащить и отпустить») позволяет перемещать данные на рабочем столе и в окне Windows Explorer, а также между любыми другими приложениями, поддерживающими этот протокол (рис. 12.1).

Поддерживая ее, Вы уподобите интерфейс Вашего приложения стандартному для Windows и для других программ, применяющих возможности OLE.

В результате пользователям легче освоить его, а приложению проще работать с другими программами, поддерживающими OLE.

12-2.jpg

Рис. 12.1 Копирование таблицы Microsoft Excel в документ Microsoft Word средствами функции OLE Drag-and-Drop

Реализация функции OLE Drag-and-Drop

В этом упражнении Вы средствами Visual Basic создадите приложение, которое поддерживает механизм перетаскивания объектов.

> Добавление средств поддержки перетаскивания

  1. Запустите Visual Basic и создайте новый проект типа Standard EXE.
  2. Поместите на форму два элемента управления-рисунка.
  3. Назначьте свойствам OLEDragMode и OLEDropMode обоих элементов управления значение Automatic.
  4. Добавьте растровое изображение в элемент управления Picture1.
  5. Запустите приложение и перетащите изображение из Picturel в Picture2.

> Поддержка перетаскивания объектов из одного приложения в другое

  1. Остановите приложение и добавьте в форму текстовое поле.
  2. Присвойте свойству Multiline поля Text1 значение True.
  3. Очистите текстовое поле.
  4. Присвойте свойствам OLEDragMode и OLEDropMode текстового поля значе ние Automatic.
  5. Запустите приложение.
  6. Запустите Microsoft Word и создайте новый документ.
  7. Расположите окна так, чтобы Вы могли видеть их оба.
  8. Наберите в документе Word строку Привет!.
  9. Выделите текст и перетащите его в текстовое поле формы Visual Basic.
  10. Перетащите изображение из элемента управления Picturel в документ Word.
  11. Остановите приложение Visual Basic.
  12. Закройте Word и Visual Basic.

Тестирование на всех Windows-платформах

Если Вы хотите создавать программы на базе интерфейса Win32 (Win32 API), Вам нужно протестировать их на всех Windows-платформах.

Это исключит вероятность использования функций (или класса функций) Win32 API, которые поддерживаются только на одной платформе. Например, интерфейс графических устройств (GDI) в Windows NT работает с 32-битной системой координат, которая недоступна в Windows 95. Применение 32-битных координат в приложении под управлением Windows 95 приведет к неверному результату.

Запуск нескольких экземпляров приложения

Вполне возможно, что пользователь попытается запустить несколько копий Вашего приложения. Это не всегда желательно, особенно если программа не рассчитана на работу в таком режиме — например, если она использует глобальные данные, при запуске нескольких экземпляров возникнет путаница.

Обработка нескольких экземпляров приложения

Возможны два способа предотвращения проблем, связанных с одновременной работой нескольких копий приложения:

В любом случае в стартовом коде Вашей программы следует проверить выполнение нескольких копий.

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

Проверка одновременного выполнения нескольких экземпляров приложения

Обнаружить одновременное выполнение нескольких экземпляров можно, например, вызвав функцию Visual Basic FindWindow при первом запуске приложения. Она проверяет, запущены ли уже его копии. Этот способ работает почти всегда, но он не самый эффективный — например, если пользователь быстро откроет подряд две копии программы, функция FindWindow может дать неверный ответ.

Альтернатива этому методу — использование свойства Prevlnstance объекта Арр. Оно позволяет проверить, была ли уже запущена копия данного приложения.

 


Пример В этом коде на Visual Basic для обнаружения выполняющейся копии приложения применяется событие Load:

Private Sub Form_Load()

' Проверка наличия выполняющейся копии приложения

If Арр.Prevlnstance = True Then

MsgBox "Это приложение уже запущено.", vbCritical, "MyApp"

End

End If

End Sub


> Проверка наличия работающей копии программы в Visual Basic

  1. Запустите Visual Basic и создайте новый проект типа Standard EXE.
  2. Дважды щелкните форму Forml, чтобы открыть окно кода.
  3. В процедуру события Load вставьте следующий код:

    Private Sub Form_Load( ) If Арр.Prevlnstance Then MsgBox "Эта программа уже запущена." Unload Me End If End Sub

  4. В меню Project выберите пункт Project1 Properties.
  5. Измените Project Name на Instance и нажмите ОК.
  6. В меню File выберите Make Instance.exe.
  7. Средствами Windows Explorer откройте каталог, где Вы создали файл Instance.exe, и дважды щелкните его, чтобы запустить программу.

    После запуска программы на экране появится форма Fonnl.

  8. Дважды щелкните файл Instance.exe в Windows Explorer для запуска второй копии программы.

    На экране появится созданное Вами в Visual Basic окно с сообщением, информирующем, что один экземпляр приложения уже запущен.

  9. Нажмите ОК, чтобы свернуть окно сообщений, а затем закройте работающий экземпляр программы.

Целостность интерфейса Windows

Стратегия разработки приложения и его пользовательского интерфейса должна органично вписываться в концепцию интерфейса Windows. Для этого необходимо снабдить приложение следующими элементами:

Вот еще несколько советов.

Константа Visual Basic

Описание

VbWindowBackground

Цвет фона окна

VbMenuText

Цвет текста меню

VbInfoText

Цвет текста оперативных подсказок по элементам интерфейса

VbInfoBackground

Цвет фона оперативных подсказок по элементам интерфейса

Использование реестра Windows

Перечисленные ниже элементы следует регистрировать в реестре Windows.

Пользовательскую информацию следует помещать в раздел реестра HKEY_CURRENT_USER, а иные данные - в HKEY_CURRENT_MACH1NE. Эти элементы реестра предназначены для хранения сведений, которые ранее содержались в INI-файлах Windows 3.1. Если Вы переносите старые приложения на новую Windows-платформу, откажитесь от lNI-файлов и воспользуйтесь для хранения информации реестром.

Поддержка системных правил именования файлов

В Windows 95 разрешены длинные (до 255 символов) имена файлов и пути в формате универсальных правил именования (Universal Naming Convention, UNC) типа \\имя_сервера\cетевое_имя.

Длинные имена файлов

Для поддержки длинных имен файлов необходимо, чтобы все диалоговые окна приложения могли отобразить достаточную часть имени файла, не ограничиваясь только форматом 8.3 (в нем отводится восемь символов под имя и три — под расширение). Windows 95 трактует расширение «.3» как отдельное поле типа. Обязательно также предусмотрите возможность отображения документов и файлов данных большими и малыми значками.

Универсальные правила именования

Благодаря поддержке UNC-путей, пользователи могут напрямую просматривать сеть и открывать файлы, не назначая символы сетевым ресурсам. Кроме того, UNC-пути облегчают приложениям работу с данными. Например, некоторые программы сохраняют список документов, прежде открывавшихся пользователем. Если приложение сохраняет путь с именем диска (например, N:\), файл не будет найден без предварительного назначения сетевому ресурсу символа N:. Сохранив информацию в форме UNC-пути, приложение сумеет подключиться к сетевому ресурсу, не запрашивая пользователя о местонахождении файла.

«Интеллектуальные» программы установки и удаления

Снабдите свое приложение «интеллектуальной» программой установки, предусмотрев в ней выполнение следующих операций:

 


Примечание Создавая «интеллектуальную» программу установки, не храните установочную информацию в WIN. IN I — пользуйтесь реестром.

Мастер Setup Wizard

Мастер установки Setup Wizard, включенный в состав Visual Basic, на основании анализа файла проекта составляет необходимый программе установки список файлов с зависимостями. Кроме того, он сжимает эти файлы и создает программу установки (для жесткого диска или дискет). Вся регистрация клиентской части, в том числе и проверка версий файлов, выполняется автоматически. Это особенно важно при установке DLL- или ОСХ-файлов на клиентский компьютер. Мастер может включить в установочный комплект и другие файлы, например изображение логотипа компании или заставку для отображения динамики процесса установки. Все параметры можно сохранить в шаблоне для повторного использования.

> Знакомство с мастером установки

В этом упражнении Вы средствами мастера Visual Basic Setup Wizard создадите дистрибутив приложения.

  1. В меню Programs, Microsoft Visual Basic 5.0 выберите пункт Application Setup Wizard.
  2. Задайте пример файла проекта

    C:\ProgramFiles\DevStudio\VB\samples\PGuide\Controls\Controls.vbp

  3. Ознакомьтесь со всеми экранами мастера.
  4. Выберите метод установки Single Directory.
  5. Создайте установочный комплект в каталоге SWSETUP.
  6. Откройте окно My Computer и посмотрите, какие файлы помещены в этот каталог.

Создание утилиты удаления приложения

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

Мастер Setup Wizard автоматически регистрирует приложения в Windows 95, поэтому удалить программу пользователь может утилитой Add/Remove Programs Панели управления Windows 95. Это средство позволяет избавиться от всех ссылок, каталогов и значков программных групп, а также автоматически отслеживает файлы, используемые несколькими приложениями, — они не удаляются, если нужны для работы других приложений.

Создание программы установки

В этом упражнении Вы с помощью мастера Visual Basic Setup Wizard создадите программу установки приложения.

> Создание программы установки

  1. Запустите мастер Visual Basic Application Setup Wizard.
  2. Когда появится диалог Introduction, нажмите кнопку Next.
  3. Нажмите кнопку Browse и выберите следующий файл проекта:

    c:\ProgramFiles\DevStudio\VB\samples\PGuide\calc\Calc.vbp

  4. Выберите Rebuild the Project и нажмите Next.
  5. Выберите метод установки Single Directory и нажмите Next.
  6. Выберите папку WA\Practice\Chl2\Setup и нажмите Next.
  7. В составе проекта нет серверных компонентов ActiveX, поэтому просто нажмите Next. Application Setup Wizard определит, какие файлы нужны для установки.
  8. Изучите информацию о файлах и нажмите Next.
  9. Нажмите Finish для создания программы установки.
  10. Нажмите ОК.

> Тестирование программы установки

  1. На рабочем столе Windows 95 откройте окно My Computer.
  2. Дважды щелкните файл Setup.exe, расположенный в каталоге WA\Practice\ Chl2\Setup.
  3. Появится диалог Calc Setup. Закройте все приложения и нажмите ОК.
  4. Посмотрите, в какой каталог устанавливается программа, и щелкните значок установки.
  5. По завершении процесса нажмите ОК.
  6. В меню Windows 95 Programs выберите Calc.

    Запустится калькулятор — программа-пример Visual Basic, поставляемая вместе с Visual Basic 5.0

  7. Закройте программу.

> Удаление приложения

  1. Откройте Панель управления Windows 95.
  2. Дважды щелкните значок Add/Remove Programs.
  3. Выберите CALC и нажмите кнопку Add/Remove. В ответ на запрос нажмите Yes.
  4. Нажмите ОК.

Обратите внимание на исчезновение элемента Calc из меню Programs Windows 95.

Объемность элементов интерфейса

Для многих элементов управления интерфейса Windows используется выделение и затенение, за счет чего они выглядят объемными (рис. 12.2). Это облегчает работу пользователя — например, когда он щелкает объемную кнопку, она «вжимается» совсем как настоящая. Чтобы соответствовать интерфейсу Windows, Ваше приложение должно применять объемные элементы управления.

12-3.jpg

Рис. 12.2 Элементы управления, которые выглядят объемными

Резюме

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

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

Используйте реестр Windows.

Поддерживайте системные правила именования файлов. Создавайте интеллектуальные программы установки и удаления. Придайте элементам интерфейса своих приложений объемный вид.

 

Используются технологии uCoz