Справочник от Автор24
Поделись лекцией за скидку на Автор24

Основы разработки оконных приложений

  • 👀 399 просмотров
  • 📌 320 загрузок
Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Основы разработки оконных приложений» doc
Лекция. Основы разработки оконных приложений Содержание: последовательные и событийно-управляемые про­граммы; событие и обработчик события; визуальное программиро­вание как средство создания графического интерфейса пользователя; пример разработки простейшего оконного приложения; оконное приложение обработки матриц; файлы проекта приложения; основные шаги разработки оконного приложения Введение До сих пор мы занимались разработкой последовательных кон­сольных программ. Цель этой лекции – сделать первые шаги в ов­ладении основами проектирования программ (приложений), об­щающихся с поль­зователем с помощью оконного интерфейса. Для определенности мы будем рассматривать операционную систему Windows и инструменталь­ную среду программирования MS Visual Studio 2008. Сле­дующий раздел поможет понять специфику стоящей перед нами за­дачи. 1. Особенности разработки оконных приложений (по срав­нению с консольными программами) 1.1. Последовательные и событийно-управляемые программы Консольные программы в основном являются последователь­ными. Работа последовательной программы можно описать схемой: Запуск программы -> выполнение инструкций -> завершение. Именно такие программы мы писали до сих пор. Последовательная программа, конечно, может быть разветв­ленной, т. е. содержать операторы ветвления и цикла. Она также может содержать инструкции, временно приостанавливающие ее выполнение. Например, оператор ввода приостанавливает про­грамму до того момента, как будут заданы значения всем вводимым пере­менным. Термин последовательная используется здесь в том смысле, что после запуска программы для любых конкретных исходных данных выполняется определенная последовательность инструкций, и программа заканчивает работу (передает управление операционной системе). Для общения с пользователем последовательные программы в основном используют потоковый консольный ввод (вывод). Все оконные приложения – это программы, управляемые со­бытиями. Такие программы после запуска находятся в состоянии ожидания событий (иногда говорят о «бесконечном цикле» ожида­ния). В качестве события можно, например, рассматривать: • щелчок (одинарный или двойной) кнопкой мыши (правой или ле­вой) в некотором месте окна приложения; • выбор пункта меню (горизонтального, контекстного, и т.д.); • «зависание» (достижение без щелчка) мыши над некоторым элементом окна; • нажатие клавиши (или комбинации клавиш) клавиатуры; • приход сигналов устройств компьютера; • достижение встроенным таймером заданного момента времени. На каждое событие приложение должно ответить, как того требует решаемая задача (говорят: обработать событие), и снова перейти в состояние ожидания. Завершение работы приложения также рассматривается как реакция на событие (нажатие кнопки «Выход», набор на клавиатуре комбинации ALT+F4, и т. д.). Про­граммный код, описывающий реакцию на не­которое событие, назы­вается обработчиком этого события. Обра­ботчик представляет собой подпрограмму (метод класса), тело которой, пишется по зако­нам последовательного программирования. Программист может ис­пользовать стандартные обработчики или создавать собственные об­работчики, отражающие специфику разра­батываемого приложения. Работу событийно-управляемой программы можно описать схемой: Если говорить более точно, то приложение не ожидает событие, а постоянно опраши­вает операционную систему на предмет возникновения событий. 1.2. Стандартный интерфейс оконного приложения Оконные приложения должны общаться с пользователем по некоторым стандартным канонам, посредством окон стандартного вида и стандартных схем диалога, т. е. обеспечивать стандартный интерфейс пользователя. Поскольку окна выводятся в графическом режиме монитора, то этот интерфейс является графическим (GUI – Graphical User Interface). В виду сложности самостоятельного программирования графического интерфейса, для его создания используются специальные технологии визуального программирования, которое, в свою очередь, основывается на объектно-ориентированном программировании. Коротко смысл визуального программирования состоит в следующем. Имеется библиотека стандартных элементов графического интерфейса. Элементы в графическом изображении расположены на специальных панелях. С помощью расположения элементов на заготовке окна приложения создается интерфейс приложения. Параллельно с формированием окна автоматически формируется стандартная часть кода приложения. Когда образ окна готов, пишутся нестандартные обработчики, определяемые функциональным назначением программы. В системах программирования фирмы Borland (широко из­вестны C++ Builder и Delphi) в качестве стандартной библиотеки графических элементов интерфейса используется VCL (Visual Com­ponent Library). В среде Microsoft Visual Studio библиотека интерфейсных компонентов является частью библиотеки классов платформы .NET Framework. 2. Примеры разработки оконных приложений в MS Visual Studio Изучить приемы визуального программирования можно лишь на практике. Методология разработки оконных приложений будет показана на двух простых примерах. Пример 1. Оконное приложение вычисления факториала – см. https://code-live.ru/post/first-windows-form (автор Сергей Левитин). Предлагается создать это приложение по шагам, как предложено на сайте. Пример 2. Оконное приложение обработки матрицы, вычисляющее сумму всех элементов матрицы и произведения элементов каждой строки матрицы. Форма приложения представлена на рис. 1. Размеры матрицы (число строк n и число столбцов m) считываются из текстовых окон (компонента textBox); ко­манда на задание размеров – нажатие кнопки (на которой имеет надпись «Ввод n, m»), кнопка – компонента button. Вторая кнопка (с надписью «Вычислить») используется для запуска вычисления результатов задачи. Для отображения массивов на форме будет использоваться компонента dataGridView. Это компонента с большими возможностями; она может заполняться из различных источников данных, в том числе таблиц и запросов баз данных. Но мы будем ее использовать для ввода элементов матрицы и вывода значений произведений строк матрицы. Число строк и столбцов компонент компоненты dataGridView настраи­вается в соответствии с введенными значениями n и m. Приложение не должно иметь ограничений на размеры массивов; для хра­нения массивов в оперативной памяти рекомендуется использовать динамические массивы. Визуальные компоненты для вывода результатов выбираются из условия задачи: компонента textBox – для простых значений (в рассматриваемой задаче - суммы элементов матрицы), компонента dataGridView – для таблиц значений (в примере – произведений элементов строк). Последовательность разработки приложения: 1. Открываем Visual Studio, выбираем Файл→Создать→Проект. В открывшемся окне, в его левой части выбираем пункт С++, затем пункт CLR. В правой части окна выбираем Приложение Windows Forms. В нижней части пишем имя проекта (у нас matrix), папку, в которой будут сохраняться файлы проекта, и жмем Ok. 2. С панели элементов перетаскиваем форму текстовые окна (textbox), метки (label), кнопки (button) и таблицы (dataGridView). Заметим, что элемент dataGridView находится на Панели элементов в группе «Данные». 3. Используя панель «Свойства» и мышь, настраиваем размеры и расположение элементов формы, как показано на рис. 1. Для правой компоненты dataGridView (в примере dataGridView3), в которую будут выводиться вычисленные произведения строк, на панели «Свойства» задаем свойству RowsHeaderVisible значение False, чтобы не показывались заголовки строк этой компоненты. 4. Пишем обработчики событий. Сначала делаем двойной щелчок мышью на кнопке «Ввод n, m» (в предложенном коде button2), оказываемся в коде обработчика события нажатия этой кнопки и вставляем в него операторы для считывания n и m и настраивания числа строк и столбцов элементов dataGridView; получаем такой код обработчика: private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {n=System::Convert::ToInt16(textBox1->Text);//считывание n m из m=System::Convert::ToInt16(textBox2->Text);//текстовых окон if(n==0||m==0)//если n или m равно 0, вывод сообщения MessageBox::Show("Введите n, m", "m и n не равны нулю!"); else {//далее задаются число строк и столбцов dataGridView dataGridView2->RowCount=n; dataGridView2->ColumnCount=m; dataGridView3->RowCount=n; dataGridView3->ColumnCount=1; } } Затем делаем двойной клик на кнопке «Вычислить» (button1) и добавляем код в обработчика события нажатия этой кнопки. Получаем обработчик: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { double **a, s,p; int i,j; //a-динамичекая матрица, s-сумма матрицы, //р – произведение каждой строки, i, j - счетчики a=new double*[n];//распределяем память по указатели на строки матрицы for (i=0; iValue); }//считали матрицу с формы в память s=0;//далее вычисляем сумму элементов матрицы и //произведение элементов каждой строки for (i=0;iValue=System::Convert::ToString(p); } textBox3->Text=System::Convert::ToString(s);//вывод суммыв текс окно } 5. Запускаем приложение и проверяем его работу на примерах. 6. Добавляем главное меню (элемент menuStrip из группы «Меню и панели инструментов» Панели элементов) на верхнюю часть формы (элемент menuStrip из группы «Меню и панели инструментов» Панели элементов). Внизу под формой показывается пиктограмма этого элемента. Добавить пункты меню можно либо в полоску вверху формы, или через панель «Свойства», пункт Items. Далее на панели свойств нажимаем кнопку «События» (желтая «молния») перехода к обработчикам событий и связываем пункт меню «Ввод n, m» с обработчиком кнопки button2, а пункт меню «Вычислить» с обработчиком события кнопки button1. Меню готово! Окно работающего приложения см. на рис. 2. Более подробно с процессом создания главного меню приложения см. по ссылке: http://www.cs.trinity.edu/~thicks/Tutorials/Visual-Studio-Windows-App-Form-MenuStrip-Apps/Visual-Studio-Windows-App-Form-MenuStrip-Apps.html 3. Основные шаги разработки оконного приложения 1. Выбор существующего проекта или создание нового. 2. Выбор существующей формы проекта или создание новой. 3. Размещение на форме необходимых компонентов. 4. Установка свойства формы и ее компонентов. 5. Создание обработчиков событий. 6. Написание кодов обработчиков событий, выполняющий нужные для работы программы действия (этот код заставит каждый компонент делать то, что не­обходимо пользователю). 7. Если требуется, повторение шагов 2 – 6 для каждой формы. 8. Сохранение проекта. Рекомендуется сохранять проект (или измененную форму) не только после окончания работы, но и после каждого шага разработки приложе­ния, начиная со второго.
«Основы разработки оконных приложений» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot