Опубликован: 25.03.2010 | Уровень: для всех | Доступ: платный
Лекция 2:

Visual Studio.NET: среда разработки, интерфейс пользователя, система меню

Теперь, даже если ничего не редактируя в открытом текстовом файле ресурсов, закрыть его и перейти в окно представления Resource View, то среда выдаст предупреждение о том, что файл ресурсов открывался непосредственно.


Рассмотрим разделы ресурсов, отображаемые в окне представления Resource View. Еще раз отметим, что при редактировании любого из разделов автоматически запускается редактор, соответствующий типу редактируемого ресурса, а каждый ресурс приложения имеет уникальный идентификатор. Редактирование ресурса начинается с двойного щелчка на идентификаторе ресурса. Добавить новый ресурс можно либо через контекстное меню окна Resource View, либо передать фокус окну Resource View и выполнить команду меню Edit/Add Resource...


Настройка русского языка. При создании проекта MFC в раскрывающемся списке настройки мастера MFC Application Wizard нет языка Русский изначальной настройки ресурсов для использования в меню, диалоговых окнах и др. Поэтому после создания заготовки приложения каждый ресурс нужно настроить вручную. Сначала нужно выделить соответствующий ресурс, затем в окне Properties выбрать из раскрывающегося списка язык Русский. Без такой настройки все русские символы после компиляции приложения будут выглядеть некорректно.

Раздел Accelerator ("Горячие" клавиши, клавиши быстрого доступа)

Это механизм связывания комбинаций клавиш с пунктами меню для быстрого вызова и исполнения команд. Частично "горячие" клавиши генерирует мастер MFC Application Wizard при создании каркаса (работоспособной заготовки) приложения. Но разработчик приложения всегда может их удалить, изменить или ввести новые по своему усмотрению. Редактирумая информация отображается в виде таблицы, поля которой представлены раскрывающимися комбинированными списками. Разработчик приложения всегда может ввести или выбрать необходимые значения.


За одним и тем же идентификатором меню можно закрепить несколько комбинаций клавиш, создав отдельные строки таблицы.

Поле Type позволяет устанавливать реагирование приложения на клавиши по ASCII - или Virtual -кодам. Scan -коды в системе DOS соответствовали порядковому номеру расположения клавиши на физической клавиатуре. В связи с возможными различиями в раскладках национальных клавиатур Microsoft ввела замену Scan -кодов на виртуальные коды. Коды клавиш логической клавиатуры имеют префикс VK_ ( virtual key ).

В раскрывающихся комбинированных списках поля Key клавиши представлены макроопределениями (символическими именами), но можно ввести и числовой код прямо в поле ввода списка.

Однозначное преобразование специфических для каждой конкретной клавиатуры скан-кодов в коды виртуальных клавиш осуществляют драйверы клавиатуры ( keyboard device driver ). Полученные таким образом коды виртуальных клавиш передаются приложениям в виде сообщений. Причем, кроме сообщения о виртуальном коде нажатой клавиши VK_, Windows генерирует еще два сообщения. Сообщение WM_KEYDOWN означает, что клавиша на клавиатуре была нажата, а WM_KEYUP - отпущена.

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

Раздел Dialog (диалоговые окна)

Приложение получает от пользователя информацию посредством диалоговых окон. Диалоговые окна проектируются в среде Studio .NET в два этапа. Вначале создается ресурс диалогового окна со всеми необходимыми управляющими элементами. Этот ресурс будет играть роль визуального представления диалогового окна в работающем приложении. На втором этапе для управления ресурсом и его элементами необходимо создать класс диалогового окна и с помощью значений атрибутов этого класса определить свойства, а с помощью методов - поведение ресурса при взаимодействии с пользователем.

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

Если вызвать на редактирование в главную рабочую область среды разработки ресурс диалогового окна, то на экране автоматически появляется панель инструментов Toolbox. Эта панель содержит все типовые для приложения Windows элементы управления. Каждая пиктограмма панели инструментов представляет собой какой-нибудь из этих элементов, который может быть вставлен в диалоговое окно.

Для вставки управляющих элементов диалогового окна используется технология WYSIWYG ( What You See Is What You Get - что видишь, то и получаешь). Разработчик может либо перетащить интересующий его элемент из Toolbox на диалоговую панель, либо выделив пиктограмму элемента, щелкнуть мышью в нужном месте размещения управляющего элемента. Можно менять местоположение и размеры элементов и самой диалоговой панели, перетаскивая их мышью или растягивая за боковые маркеры. В строке состояния редактора диалоговых ресурсов отражаются размеры и координаты выделенных элементов.

Данный метод редактирования диалоговых окон стал одной из причин появления в названии среды разработки слова "visual - визуальный". Он позволяет быстро настраивать внешний вид пользовательского интерфейса без каких-либо усилий по программированию размеров, относительного положения и т.д.

Дополнительную поддержку визуального проектирования диалоговых панелей оказывает панель инструментов Dialog Editor, которую можно вызвать так, как рассмотрено в разделе "Панели инструментов". Сама панель имеет вид


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

Чтобы создать новую заготовку ресурса диалогового окна, нужно выделить в панели Resource View любой узел ресурса и через контекстное меню вызвать окно добавления ресурса


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

Аналогичный результат можно получить, если выделить любой узел ресурса в панели Resource View и через главное меню среды выполнить команду Project/Add Resource...

То же самое можно получить, если выделить в панели Resource View узел проекта, но тогда среда предложет выбрать между добавлением нового ресурса или нового класса для этого ресурса.


Максим Филатов
Максим Филатов

Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет:

Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.

 

Как активировать код?

Денис Пашков
Денис Пашков
Россия
Татьяна Ковалюк
Татьяна Ковалюк
Украина, Киев, Киевский политехнический институт, 1974