Лекция 1. Создание проекта в среде Visual Studio. NET

После установки среды разработки приложений Visual Studio.NET 2010 и ее запуска на экране появляется Начальная страница, внешний вид которой представлен на рис. 1.

Рис. 1. Начальная страница

В меню Файл выбираем команду создать проект, как показано на рис. 2.

Рис. 2.

В появившемся диалоговом окне, представленном на рис. 3, выбираем тип проекта – Приложение MFC. В нижней части диалогового окна, в поле ввода Имя, указывается название проекта и путь (поле ввода Расположение), по которому будут сохраняться файлы проекта.

Рис. 3. Выбор типа приложения

После нажатия на кнопку ОК запускается мастер приложений (рис. 4), с помощью которого выполняется предварительная настройка приложения.

Рис. 4. Мастер создания приложения

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

Рис. 5. Выбор типа приложения

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

Дополнительно можно настроить Свойства интерфейса пользователя (рис. 6).

Рис. 6. Свойства интерфейса пользователя

Настройки в окне дополнительных параметров, показанные на рис. 7, можно оставить по умолчанию.

Рис. 7. Дополнительные параметры

Окно Созданные классы (рис. 8) является информационным и показывает, какие классы будут созданы в результате работы мастера. Это окно является информационным и, как правило, не требует редактирования.

Рис. 8.

После нажатия на кнопку Готово запускается среда разработки с созданным проектом на основе диалогового приложения (рис. 9).

Рис. 9. Среда разработки после создания проекта

Надпись «TODO: Разместите здесь элементы управления диалоговых окон» является информационной, и призывает разработчиков программного обеспечения (т.е. Вас) к решительным действиям. Эту надпись можно удалить, предварительно выделив ее путем нажатия левой кнопки мыши, после чего нажать на кнопку Delete.

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

Рис. 10.

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

Рис. 11.

На этом этапе можно запустить приложение. Для этого следует нажать на кнопку с изображением зеленой стрелки, как показано на рис. 12, или нажать на клавишу F5.

Рис. 12.

После этого появится диалоговое окно, представленное на рис. 13.

Рис. 13.

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

Рис. 14.

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

Для добавления обработчика события необходимо вызвать контекстное меню для кнопки и выбрать пункт «Добавить обработчик событий», как показано на рис. 15.

Рис. 15.

Появится диалоговое окно, представленное на рис. 16, в котором необходимо выбрать, какое именно событие для кнопки будет обрабатываться. Событие выбирается в списке Тип сообщения. Нас интересует событие нажатия на кнопку, поэтому выбираем BN_CLICKED. В правой части диалогового окна выбирается класс, в который будет добавлен код обработчика события. Главным классом нашего приложения, в котором будет реализована вся логика работы программы, является класс, название которого заканчивается на Dlg. В приведенном примере класс называется Project1Dlg (к названию проекта, которое было указано на рис. 3, мастером создания проекта добавляется окончание Dlg).

Рис. 16.

После нажатия на кнопку «Добавить/править» откроется окно редактора кода программы (рис. 17), при этом в класс будет добавлена функция обработчик нажатия на кнопку.

Рис. 17.

Код программы пишется в том месте, где располагается комментарий:

// TODO: добавьте свой код обработчика уведомлений

Окна сообщений

Учитывая тот факт, что материл, который мы с Вами разбираем на этом уроке абсолютно новый для Вас, можно предположить что у Вас появился вопрос: "Что такое окно с сообщением?". Вы сто процентов сталкивались с ним при повседневной работе с Windows. Как один из вариантов можно привести пример следующего окна:

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

int MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption, UINT nType=MB_OK);

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

Возможные типы окна сообщения
Значение параметра nType Описание
MB_OK Окно содержит только кнопку OK
MB_OKCANCEL Окно содержит две кнопки: OK и Cancel (Отмена)
MB_RETRYCANCEL Окно содержит две кнопки: Retry и Cancel (Повтор и Отмена)
MB_ABORTRETRYIGNORE Окно содержит три кнопки: Abort, Retry и Ignore (Стоп, Повтор и Пропустить)
MB_YESNO Окно содержит две кнопки: Yes и No (Да и Нет)
MB_YESNOCANCEL Окно содержит три кнопки: Yes, No и Cancel (Да, Нет и Отмена)

Если Вы хотите также добавить иконку в информационное окно, Вы можете комбинировать указанные значения параметра nType с нижеследующими: MB_ICONEXCLAMATION (иконка – восклицательный знак), MB_ICONINFORMATION (или MB_ICONASTERISK; иконка – символ "i"), MB_ICONQUESTION (иконка – знак вопроса), MB_ICONSTOP (или MB_ICONHAND; иконка - "стоп").

Вы можете также назначить кнопку по умолчанию, если вы используете информационное окно с несколькими кнопками. Визуально, мы всегда можем определить кнопку по умолчанию по затемненному контуру вокруг кнопки. Для назначения кнопки по умолчанию, используйет соответсвенно одну из констант: MB_DEFBUTTON1 (кнопка по умолчанию – первая), MB_DEFBUTTON2 (вторая) или MB_DEFBUTTON3 (третья).

Ниже приводиться рисунок, иллюстрирующий использование констант: MB_ABORTRETRYIGNORE (три кнопки в окне сообщений), MB_ICONSTOP (иконка в виде запрещающего креста), MB_DEFBUTTON2 (кнопка "Повторить" назначена кнопкой по умолчанию). Окно было получено в результате вызова функции:

MessageBox(_T("Используемые константы: MB_ABORTRETRYIGNORE | MB_ICONHAND | MB_DEFBUTTON2"), _T(“TestingAfxMessageBox”), MB_ABORTRETRYIGNORE | MB_ICONHAND | MB_DEFBUTTON2);

Функция возвращает одно из следующих значений:

Описание возвращаемого значения
Значение Описание
IDOK Была нажата кнопка OK
IDCANCEL Была нажата кнопка Cancel (или клавиша <Esc>)
IDABORT Была нажата кнопка Abort
IDIGNORE Была нажата кнопка Ignore
IDYES Была нажата кнопка Yes
IDNO Была нажата кнопка No
IDRETRY Была нажата кнопка Retry
  Произошла ошибка при создании окна сообщений

Итак, солидный багаж знаний по окнам сообщений у Вас уже есть. Теперь немного о том, как и когда необходимо использовать окна сообщений? На вопрос "Когда?" ответ очевиден. Когда Вам необходимо предоставить пользователю запрос или сообщить пользователю о какой-то приятной новости, обычно, Вы будете использовать окна сообщений. Например, следующий фрагмент кода демонстрирует использование окна сообщений:

Добавим код, который изменит поведение нашей программы таким образом, что при нажатии на кнопку будет появляться окно с текстовым сообщением.

MessageBox(_T("Hello, world!"));

После запуска приложения (нажатие F5), нажатие на кнопку приведет к появлению окна с сообщением, как показано на рис. 18.

Рис. 18.

Домашнее задание

1. Вывести на экран свое (краткое!!!) резюме с помощью последовательности MessageBox'ов (числом не менее трех). Причем на заголовке последнего должно отобразиться среднее число символов на странице (общее количество символов в резюме / количество MessageBox'ов).

2. Написать программу, которая "угадывает" задуманное пользователем число от 1 до 2000. Для запроса к пользователю использовать MessageBox. После того, как число отгадано, необходимо вывести количество запросов, потребовавшихся для этого, и предоставить пользователю возможность сыграть еще раз, не выходя из программы. (MessageBox'ы оформляются кнопками и значками соответственно ситуации).

3. Необходимо создать следующие обработчики:

1. Обработчик нажатия левой кнопки мыши (OnLButtonDown), который выводит сообщение о том, где находится текущая точка (координаты точки). Если при нажатии левой кнопки мыши была нажата кнопка Control (Ctrl), то приложение должно закрываться.

Для этого воспользуйтесь функцией void EndDialog(int nResult), где nResult – произвольный целочисленный параметр, который возвращается в точку вызова функции отображения диалога DoModal.

2. Обработчик нажатия правой кнопки мыши (OnRButtonDown), который выводит в заголовок окна информацию о размере клиентской (рабочей) области окна в виде: Ширина = x, Высота = y, где x и y – соответствующие параметры вашего окна.

Для вывода информации в заголовок окна воспользуйтесь функцией void SetWindowText(LPCTSTR lpszString);

3. Обработчик перемещения указателя мыши в пределах рабочей области (OnMouseMove), котовый должен выводить в заголовок окна текущие координаты мыши x и y.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: