В данной статье будет рассказано о том как написать простой обработчик событий на C++ для приложения Windows Forms, работающего под управления .NET Framework. Мы создадим простейшую Windows программу, которая вычисляет факториал целого числа. Для написания данной программы Вам понадобится Visual Studio 2008 Express Edition или Professional.
Для начала создадим проект.
Откроем Visual Studio, далее жмем Файл→Создать→Проект, далее выбираем пункт CLR и отмечаем Приложение Windows Forms, даем имя проекта, к примеру factr и жмем Ok.
После того как мы создали проект, должна появиться пустая форма, которая должна выглядеть примерно так:
Справа должна появиться панель элементов, если ее нет, то можно включить ее в меню Вид→Панель Элементов или нажатием горячих клавиш — Ctrl + Alt + X.
На ней расположены различные элементы для вставки в форму, нам понадобятся только элементы Button (Кнопка), Label (Надпись) и TextBox (Текстовое поле). Перетащите на форму три элемента Label, Два элемента TextBox, и одну кнопку (Button), расставьте элементы примерно так:
Примеры моих программ на C#
Теперь нам нужно будет изменить текст надписей для элементов Label и Button и Задать подходящие имена классов для элементов TextBox. Для этого Выделите элемент label1, перейдите в Панель свойств, (обычно она находится под Панелью элементов, если панель выключена, включите ее в меню Вид -> Диспетчер свойств.) и задайте для данного элемента значение атрибута Text как показано на рисунке.
Задайте атрибут Text для всех элементов Label и Кнопки Button аналогичным образом. Наша форма должна принять примерно следующий вид:
Я сделал кнопку развернуть неактивной, так как изменение размеров данной формы испортит ее внешний вид, Вы также можете это сделать, щелкнув левой кнопкой мыши на пустом месте формы и в Панели свойств задать для атрибута MaximizeBox параметр False.
Теперь задайте для текстовых полей (TextBox) Атрибуты Name в Панели Свойств – для первого поля это будет num1, а для второго, соответственно num2. Тем самым мы изменили имена классов для полей TextBox, чуть позднее Вы поймете зачем.
Итак, каркас формы готов, если откомпилировать и запустить программу, то мы увидим, какой будет наша форма на финише, правда сейчас она совершенно бесполезна. Перейдем к написанию обработчика событий для кнопки Button, т.е. что будет происходить при нажатии на эту кнопку, также мы напишем саму функцию вычисления факториала, которую мы будем использовать в обработчике.
Первым делом нужно добавить заголовочный файл fact.h в проект, для этого щелкаем правой кнопкой мыши в Обозревателе решений на папке Заголовочные файлы, далее меню Добавить -> Создать Элемент, вписываем название файла – fact.h и нажимаем Добавить. В данном файле будет содержаться прототип функции для вычисления факториала. Добавляем туда следующий исходный код.
long double fact(int N);
Далее подключаем этот файл к проекту с помощью директивы #include – Открываем файл factr.cpp и добавляем после строчки #include «stdafx.h» следующий код.
Уроки C# / Как сделать первое Windows приложение
#include «fact.h»
Теперь наш заголовочный файл подключен к проекту, далее аналогичным образом создаем файл исходного кода fact.cpp в проект.
В него добавляем саму функцию вычисления факториала целого числа.
#pragma once #include «stdafx.h» long double fact(int N) < // если пользователь ввел отрицательное число if(N < 0) // возвращаем ноль return 0; // если пользователь ввел ноль if (N == 0) // возвращаем факториал нуля return 1; // Во всех остальных случаях else // делаем рекурсию return N * fact(N — 1); >
Теперь наш проект содержит функцию вычисления факториала, откомпилируйте его, если ошибок нет, то можно приступить к написанию обработчика событий для кнопки Button.
Открываем файл Form.h, в нем мы видим визуальное представление нашей формы. Щелкаем двойным щелчком на кнопке Button и переходим к исходному коду.
После фигурной скобки ставим абзац и приступаем к кодированию. Любой набор символов, которые мы вводим с клавиатуры в текстовое поле программы является строкой, поэтому нам нужно вытащить значение из текстового поля и привести его к целочисленному типу. Это довольно сложная процедура, но, к счастью в языке C++ уже есть множество функций, выполняющих конвертирование типов данных. Сначала нам необходимо описать и инициализировать переменную, в которой будет храниться значение числа, для которого должен быть вычислен факториал. Добавим в том место, где Вы поставили абзац следующий код:
int number = System::Convert::ToDouble(num1->Text);
Эта строка инициализирует переменную, которая хранит в себе число для вычисления его факториала. Далее нам нужно будет произвести вызов нашей функции fact с переменной number в качестве единственного аргумента и занести результат работы функции в новую переменную factor.
double factor = fact(number);
И затем преобразовать полученное значение обратно в строку и присвоить его второму текстовому полю.
num2->Text = System::Convert::ToString(factor);
Таким образом, наш простой обработчик событий будет выглядеть вот так:
int number = System::Convert::ToDouble(num1->Text); double factor = fact(number); num2->Text = System::Convert::ToString(factor);
Теперь можно скомпилировать и запустить готовую программу и проверить ее. Помните, что тип double в С++ может хранить число не превышающее !170.
Результат работы программы можно проверить в инженерном калькуляторе Windows.
Источник: code-live.ru
Методология разработки приложений с использованием форм
В этой статье речь пойдет о создании простейших приложений с использованием форм на языке C++. Сразу хочу внести ясность: разработка «формовых» С++ приложений будет осуществляться в среде Microsoft Visual Studio (обойдем стороной главного конкурента от компании Borland Software). Стоит отметить, что в Visual Studio есть два способа сделать приложение с формами, решение принимается в момент создания нового проекта.
Первый из них — использовать Windows Forms, реализующий графический интерфейс пользователя и входящий в Microsoft.NET Framework. Данный подход упрощает доступ к интерфейсным элементам Microsoft Windows благодаря созданию обёртки для Win32 API в управляемом коде. Если изложить свои мысли в более понятной форме, то данный подход очень схож с построением консольного приложения, но чуть более сложен т.к. использует формы.
Второй способ основан на использовании Microsoft Foundation Classes (MFC), библиотеке, которая берет на себя заботу о создании каркаса приложения. В отличие от первого, MFC «из коробки» использует патерн MVC (Model-View-Cont roller). Данный подход сложнее первого, но опираясь на него можно запросто создать каркас для весьма интересных приложений, к примеру, текстового редактора или использовать компонент Ribbon и сделать меню как в небезызвестном MS Office 2010.
Создание приложения в MS Visual Studio
Давайте создадим новое приложение: File->New->Project. В появившемся окне как на рисунке выше найдите и выберите Windows Forms Application, далее укажите название (app1) и расположение нового проекта и подтвердите его создание нажатием кнопки «OK».
Прежде чем приступить непосредственно к программированию , следует понять, что такое событие. Событие это действие, которое происходит при определённых условиях. Самыми простыми (и наиболее распространенным и) можно считать Load,Click… рассмотрим некоторые из них более подробно:
- Activated — событие, возникающее при активизации элемента.
- Click — возникает при одиночном нажатии на элемент.
- DoubleClick — двойной щелчок по элементу.
- HelpRequested — срабатывает при нажатии клавиши .
- Paint — возникает, когда элемент перерисовывается .
- MouseLeave — событие срабатывает, когда курсор покидает границы элемента.
Не стоит забывать, что свойственные элементу события зависят от его типа. Чтобы просмотреть все доступные для объекта формы события следует выделить его и в окне свойств выбрать значок молнии. Ниже показана часть событий для элементаForm1. Как можете видеть для события Load выбрана функция Form1_Load, следовательно код, содержащийся в этой функции будет вызван при загрузке формы.
Откройте файл Form1.h, там будет такой код:
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)
Это та самая функция Form1_Load, срабатывающая при загрузке формы. Давайте убедимся в этом, добавив на форму компонент TextBox.
Для этого откройте ресурс формы и выделите его. Далее выберите панель с инструментами Toolbox и перетащите компонент TextBox на форму. Модифицируйте функцию Form1_Load следующим образом:
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) < textBox1->Text = «Hello, World!»; //textBox1 – имя добавленного вами текст бокса >
Запустите проект, в итоге должно появиться следующее сообщение:
На этом пока все, продолжение в следующих уроках.
Источник: cppstudio.com
Примеры программ на microsoft visual studio
08.06.2023 г.
- Дневник разработчика торговой стратегии. Шаг 42. Исследование ГА-оптимизации стратегии Архея-3.
- Дневник разработчика торговой стратегии. Шаг 41. Статистический анализ котировок.
- Тесты торговых стратегий на C#. Урок 38. Добавим к Архее-3 ГА-оптимизацию.
- Тесты торговых стратегий на C#. Урок 37. В стратегию «Шип» добавили стоп приказы
- Дневник разработчика торговой стратегии. Шаг 40. Исследование стратегии «Шип».
- Java для чайников. Урок 1. Программа Hello World!
- Работа с базами данных на C#. Урок 2. Подключение базы данных SQL к проекту Visual Studio 2010
- Visual C# для чайников. Урок 1. Напишем простейшую программу на C#
- Java для чайников. Урок 2. Ввод данных с клавиатуры.
- Урок 2. Возможности языка Пролог и его область применения.
Рассылка WEB-программирование — это просто! |
Автор megabax | |
07.07.2009 г. | |
Последнее обновление ( 08.12.2013 г. ) |
Источник: easyprog.ru