Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Microsoft_Visual_C++..doc
Скачиваний:
18
Добавлен:
29.10.2018
Размер:
691.2 Кб
Скачать

3 Создание приложений с помощью Windows Forms Application Пример 1 Создание простейшего оконного приложения

Создадим простейшее модальное окно сообщения с меткой, кнопкой и полем для ввода.

1 Размещаем на форме элементы управления Label, TextBox, Button (рисунок 14).

Рисунок 14 – Размещение элементов на форме

Изменяем текст надписи элементов label1 и button1 в поле Text окна Properties (рисунки 15 и 16).

Рисунок 15 – Изменение текста надписи элементов label1 и button1

Рисунок 16 – Форма

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

MessageBox::Show("Привет, " + textBox1->Text);

в блок обработчика события button1_Click (щелчок на кнопке 1).

3 Запускаем программу на выполнение (рисунок 17).

Рисунок 17 – Результат выполнения программы

Задание 2

Выполните все этапы создания простейшей формы, описанные в примере 1.

Пример 2 Создание идентификационной формы

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

1 Изменим название формы (поле Text) на «Идентификация пользователя», добавим еще одну метку label2, поле для ввода textBox2 и pictureBox1, указав в поле Image путь к изображению (рисунок 19).

Рисунок 19 – Идентификационная форма

2 Т.к. по нажатию на кнопку Ok, программа должна проверять пароль, то двойным нажатием на кнопку Ok переходим в редактор кода и изменяем строку

MessageBox::Show("Привет, " + textBox1->Text);

на условный оператор

if(textBox2->Text=="d45gtr")

MessageBox::Show("Привет, " + textBox1->Text + "\n" + "Вход выполнен");

else MessageBox::Show("Неверный пароль");

В данном примере пароль – d45gtr, текст "Вход выполнен", может быть заменен любым другим сообщением.

3 Запускаем программу на выполнение (рисунки 20, 21).

Рисунок 20 – Результат работы программы при неверном вводе пароля

Рисунок 21 – Результат работы программы при верном вводе пароля

4 Обычно, символы пароля при вводе заменяются, например, *. Для такой замены необходимо в свойствах элемента управления textBox2 (текстовое поле для ввода пароля) настроить PasswordChar (символ пароля) как показано на рисунке 22.

Рисунок 22 – Изменение свойства PasswordChar

В результате ввода пароля на экране отображаются звездочки (рисунок 23).

Рисунок 23 – Символы пароля закрыты

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

Удаляем с формы поле textBox1, помещаем элемент управления comboBox1 и меняем текст, например на «Выберите» (рисунок 24).

Рисунок 24 – Размещение элемента и изменение текста

6 Создадим список имен в поле Items окна свойств Properties (рисунок 25).

Рисунок 25 – Создание списка

7 Т.к. элемент управления textBox1 был удален с формы, то необходимо исправить код, заменив textBox1 на comboBox1 в условном операторе:

if(textBox2->Text=="d45gtr")

MessageBox::Show("Привет, " + comboBox1->Text + "\n" + "Вход выполнен");

else MessageBox::Show("Неверный пароль");

Запустите программу на выполнение и просмотрите результат.

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

8 Завершим разработку приложения созданием кнопки «Очистить» для очистки поля с паролем и кнопки «Выйти» для выхода из программы. Размещаем элементы button2 и button3 на форме и меняем текст надписи (рисунок 26).

Рисунок 26 – Форма идентификации пользователей в окне конструктора

9 Дважды щелкаем по кнопке Очистить и в текущее положение курсора вставляем строку

textBox2->Clear();

При нажатии на кнопку Очистить, введенный текст в поле textBox2 (поле для ввода пароля) будет удален.

10 Дважды щелкаем по кнопке Выйти и в текущее положение курсора вставляем строку

Close();

При нажатии на кнопку Выйти программа будет закрыта.

Готовая форма идентификации пользователя показана на рисунке 27, фрагмент кода – на рисунке 28.

Рисунок 27 – Готовая форма идентификации пользователя

Рисунок 28 – Фрагмент кода программы

Задание 3

Выполните все этапы создания идентификационной формы, описанные в примере 2.

4 API-функции

В рассмотренных примерах для создания окна с сообщением использовалась функция MessageBox.

Функция MessageBox является API-функцией, а Show – метод.

API (сокр. от Application Programming Interface – интерфейс программирования приложений) – набор функций, который программист может использовать для доступа к функциональности программной компоненты (программы, модуля, библиотеки).

Практически все операционные системы (Unix, Windows, MacOS, и т. д.) имеют API, с помощью которого программисты могут создавать приложения для этой операционной системы.

Windows-API состоит из целого ряда функций, которые позволяют использовать системные Windows-конструкции. Все Windows-API-функции были написаны в C++, но их можно использовать и из Visual Basic.

Дополнительная информация

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

С другой стороны, отличия в API различных операционных систем существенно затрудняют перенос приложений между платформами. Существуют различные методы обхода этой сложности — написание «промежуточных» API, написание библиотек, которые отображают системные вызовы одной ОС в системные вызовы другой ОС, введение стандартов кодирования в языках программирования (например, стандартная библиотека языка C), написания интерпретируемых языков, реализуемых на разных платформах (sh, perl, php, tcl, Java, и т. д.)

Поскольку API состоит из большого числа функций, может сложиться впечатление, что при компиляции каждой программы, написанной для Windows, к ней подключается код довольно значительного объема. В действительности это не так. Функции API содержатся в библиотеках динамической загрузки (Dynamic Link Libraries, или DLL), которые загружаются в память только в тот момент, когда к ним происходит обращение, т.е. при выполнении программы.

Дополнительная информация

Динамическая загрузка обеспечивает ряд существенных преимуществ. Во-первых, поскольку практически все программы используют API-функции, то благодаря DLL-библиотекам существенно экономится дисковое пространство, которое в противном случае занималось бы большим количеством повторяющегося кода, содержащегося в каждом из исполняемых файлов. Во-вторых, изменения и улучшения в Windows-приложениях сводятся к обновлению только содержимого DLL-библиотек. Уже существующие тексты программ не требуют перекомпиляции.

Одним из подмножеств API является GDI (Graphics Device Interfase – интерфейс графического устройства). GDI – это та часть Windows, которая обеспечивает поддержку аппаратно-независимой графики. Благодаря функциям GDI Windows-приложение может выполняться на самых различных компьютерах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]