Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2020-01-13 | 274 |
5.00
из
|
Заказать работу |
|
|
Метод MessageBox::Show имеет несколько параметров, которые описываются в круглых скобках и перечисляются через запятую. В предыдущих примерах у MessageBox.Show мы использовали только один параметр string message (текст сообщения):
MessageBox::Show("Привет, " + comboBox1->Text + "\n" + "Вход выполнен");
и
MessageBox::Show("Неверный пароль");
Параметры MessageBox.Show
string message – текст сообщения;
string caption – заголовок окна;
MessageBoxButtons – кнопки, расположенные в окне;
MessageBoxIcon – значок, расположенный в окне;
MessageBoxDefaultButton – кнопка по умолчанию;
MessageBoxOptions – дополнительные параметры.
Большинство диалоговых окон используют несколько параметров MessageBox::Show (рисунок 25).
Рисунок 25 – Элементы диалогового окна
С учетом параметров MessageBox::Show доработаем приложение «Идентификация пользователя» (см. п.3.1- 3.2).
1 Создадим заголовок для окон, например, "Вход в систему". Для этого добавляем второй параметр в MessageBox.Show:
MessageBox::Show("Привет, " + comboBox1->Text + "\n" + "Вход выполнен", "Вход в систему");
и
MessageBox::Show("Неверный пароль", "Вход в систему");
2 Определим на первом окне две кнопки – Ok и Отмена, на втором - только Ok. Для этого добавляем третий параметр MessageBoxButtons:
MessageBox::Show("Привет, " + comboBox1->Text + "\n" + "Вход выполнен", "Вход в систему", MessageBoxButtons::OKCancel);
и
MessageBox::Show("Неверный пароль","Вход в систему", MessageBoxButtons::OK);
3 Добавим на окна значки. Т.к. первое окно соответствует сообщению о прохождении идентификации, то в качестве значка можно выбрать Information Т.к. второе окно соответствует сообщению об ошибке, то в качестве значка можно выбрать Error:
MessageBox::Show("Привет, " + comboBox1->Text + "\n" + "Вход выполнен", "Вход в систему",MessageBoxButtons::OKCancel,MessageBoxIcon::Information);
|
и
MessageBox::Show("Неверный пароль","Вход в систему", MessageBoxButtons::OK,MessageBoxIcon::Error);
4 Запускаем программу на выполнение (рисунки 26, 27).
Рисунок 26 – Окна до изменения параметров MessageBox::Show
Рисунок 27 – Окна после изменения параметров MessageBox::Show
Анализ кода
Среда Visual C++ реализует объектно-ориентированное программирование. Формы создаются на базе класса управления System, а именно класса System.Windows.Forms.
Обзор классов осуществляется нажатие на кнопку Object Browser (рисунки 28, 29).
Рисунок 28 – Обзор объектов
Рисунок 29 –Классы
Рассмотрим код приложения «Идентификация пользователя»
1 Откроем код приложения «Идентификация пользователя».
2 Программа начинается с описания пространства имен:
Команда using позволяет сослаться на классы в пакетах System, System.WinForms и System.Drawing и др.
3 Наше приложение состоит из одного класса Form1:
public ref class Form1: public System::Windows::Forms::Form
4 Для каждого элемента управления, расположенного на форме, дизайнер форм создает по одному полю соответствующего класса:
Эти поля хранят ссылки, необходимые для выполнения всех операций с элементами управления формы.
5 Для инициализации приложения конструктор класса Form1 вызывает метод InitializeComponent:
#pragma region Windows Form Designer generated code
void InitializeComponent(void)
{
…
…
this->PerformLayout();
}
Этот метод создает и инициализирует все элементы управления формы, а также задает их размеры и расположение в окне.
Когда все элементы управления созданы, необходимо их проинициализировать и разместить в окне формы. На время выполнения этой операции метод InitializeComponent отключает на время механизм генерации сообщений, связанных с размещением элементов в окне формы:
this->PerformLayout();
6 Далее следуют обработчики событий для элементов управления, размещенных на форме (двойной щелчок на элементе управления).
Обработчик события Click (щелчок) для кнопки button1:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
…
|
}
Обработчик события Click (щелчок) для кнопки button2:
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
textBox2->Clear();
}
Обработчик события Click (щелчок) для кнопки button3:
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e)
{
Close();
}
Расчетные формы
Создание расчетной формы
Создадим оконное приложение для расчета амортизационных отчислений по формуле
где S 0 – начальная стоимость имущества, SN – остаточная стоимость имущества, N – срок эксплуатации.
1 Создаем форму с тремя полями textBox1, textBox2, textBox3;
С пятью метками label1 – label5 и одной кнопкой (рисунок 30).
Рисунок 30 – Форма
Ответ поместим в label5, поэтому надпись label5 удаляем.
2 Дважды щелкаем по кнопке Ok и в текущее положение курсора вставляем строки
int s0=Convert::ToInt32(textBox1->Text);
int sN=Convert::ToInt32(textBox2->Text);
int N=Convert::ToInt32(textBox3->Text);
float a;
a=(s0-sN)/N;
label5->Text=Convert::ToString(a);
Команда Convert::ToInt32 преобразует текст, введенный в поля textBox1, textBox2, textBox3 в целочисленный формат, т.к. данные введенные в текстовые поля воспринимаются только как текст, и, следовательно, арифметические действия невозможны.
Команда Convert::ToString(a); преобразует числовой результат a в строковый (String).
3 Выполним тестирование программы. Определим ежегодные амортизационные отчисления на оборудование начальной стоимостью 3 млн. руб., сроком эксплуатации 10 лет и остаточной стоимостью 500 тыс. руб. (рисунок 31).
Рисунок 31 – Результат расчета
Создание простейшего меню
Создадим простейшее меню для приложения предыдущего примера.
Перетаскиваем управляющий элемент MenuStrip на форму приложения (рисунок 32).
Рисунок 32 – Добавление управляющего элемента MenuStrip на форму
Создаем выпадающее меню Файл с несколькими пунктами (рисунок 33).
Рисунок 33 – Создание меню
Сделаем активным простейший пункт – Выход. Дважды щелкаем на пункте Выход, чтобы добавить код:
Close();
Программу можно совершенствовать: например, предусмотреть экспорт результата в другое приложение, импорт исходных даннях; можно сделать так, что каждый раз, когда пользователь попытается закрыть приложение, приложение будет его спрашивать, действительно ли он хочет выйти и т.д.
7 Практическое задание
Создать оконное приложение имитирующее расчетный листок работника некоторого предприятия за текущий месяц работы.
1 Создаем форму с шестью полями textBox1 – textBox6; с двадцатью метками label1 – label20 и одной кнопкой (рисунок 34)
|
Рисунок 34 - Создание формы
Ответы поместим в label14- label20, поэтому надписи label14-label20 удаляем.
2 Дважды щелкаем по кнопке Ok и в текущее положение курсора вставляем строки
int vrem=Convert::ToInt32(textBox2->Text);
int dn=Convert::ToInt32(textBox3->Text);
int kv_k=Convert::ToInt32(textBox4->Text);
int oplata=Convert::ToInt32(textBox5->Text);
float zarp,prem,itogo,pf,prof,avans,k_v;
zarp=vrem*dn*kv_k*oplata;
if(textBox6->Text=="да")
prem=zarp*0.04;
else
prem=0;
itogo=zarp+prem;
pf=itogo*0.13;
prof=itogo*0.01;
avans=(itogo-pf-prof)*0.6;
k_v=itogo-avans-pf-prof;
label14->Text=Convert::ToString(zarp);
label15->Text=Convert::ToString(prem);
label16->Text=Convert::ToString(itogo);
label17->Text=Convert::ToString(pf);
label18->Text=Convert::ToString(prof);
label19->Text=Convert::ToString(avans);
label20->Text=Convert::ToString(k_v);
3 Выполним тестирование программы.
Рисунок 35 - Тестирование
|
|
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!