
- •Часть 2. Сборник рецептов по визуальному программированию Введение в объектно-ориентированное программирование
- •Создание проекта в VisualStudio
- •Файлы проекта
- •Сведения об объекте
- •Общие свойства всех объектов
- •Класс Form
- •Помещение компонента в форму и прочие действия с дизайнером форм
- •Свойства форм
- •События формы
- •Методы формы
- •Компоненты ввода и отображения текстовой информации Компонент Label
- •Некоторые свойства компонента Label
- •Компонент TextBox
- •Методы TextBox
- •Компонент RichTextBox
- •Ввод числовых значений в компонент TextBox
- •Проверка, введены ли значения
- •Компонент ListBox
- •Компонент ComboBox
- •Ввод данных из файла
- •Компонент MaskedTextBox
- •Кнопки, индикаторы и управляющие элементы Компонент Button
- •Компонент Panel
- •Компоненты RadioButtonиCheckBox
- •Компонент GroupBox
- •Пример. Комплектация автомобиля
- •Работа с меню Главное меню
- •Контекстное меню
- •Создание текстового редактора
- •Системные диалоги
- •Компонент OpenFileDialog
- •Компонент SaveFileDialog
- •Диалог выбора шрифта
- •Диалог выбора цвета
- •Компонент PrintDialog
- •Диалоговые окна в текстовом редакторе
- •Расширенные символы Unicode
- •Работа с графикой Использование графических файлов
- •Создание фотоальбома
- •Методы для рисования на форме и прочих компонентах
- •Работа с таймером
- •Работа с датой и временем
- •Добавление новых форм к проекту
- •Многостраничные панели
- •Способы задания страниц
- •Методы TabControl
Файлы проекта
Язык VC++ в момент создания приложения создает массу различных файлов. Но не все файлы, которые создает среда разработки, включаются в тот или иной проект. Это зависит от типа создаваемого проекта и от тех опций, которые выбирает пользователь.
Проект состоит из следующих файлов.
1. Имя_проекта.sln– этот файл относится к категории группы проектов, объединенных в одно решение. Он организует все элементы проекта (или проектов) в одно общее решение.
2. Имя_проекта.suo– это файл опций решения, хранит все пользовательские режимы, задаваемые при создании решения.
3. Имя_проекта.vcproj– этот файл хранит специфическую информацию проекта (такой файл создается для каждого из проектов общего решения).
4. Имя_проекта.idl– содержит код описания интерфейса для управления библиотекой типов (используется для генерации такой библиотеки). Эта библиотека выставляет интерфейс компонента другим клиентам.
5. Имя_проекта.ncb– некомпилируемый файл, содержит информацию, генерируемую специальной программой – синтаксическим анализатором, которая используется классомView(просмотр информации). Если этот файл случайно удален, то он автоматически регенерируется.
6. Readme.txt– тут описываются некоторые файлы созданного проекта.
Помимо проектных файлов среда разработки создает и файлы предварительной компиляции проекта. Эти файлы используются для создания предварительно компилируемого заголовочного файла Имя_проекта.pchи объектных файлов*.obj.
Ресурсы– это интерфейсные элементы, которые обеспечивают пользователя информацией (к ним относятся графические битовые изображения, пиктограммы, линейки инструментов, курсоры и пр.). К этим файлам относятся следующие.
1. Имя_проекта.rc– этот файл содержит информацию, зависящую от типа проекта. Например, это могут быть линейки инструментов, меню по умолчанию, таблицы строк, диалоговые окна по умолчанию, файл пиктограмм, информация о версиях проекта, битовые изображения,html-файлы.
2. Resource.h – тут содержатся определения ресурсов, используемых в проекте.
3. Имя_проекта.rc2– здесь содержатся дополнительные ресурсы, используемые в проекте.
4. Имя_проекта.def– здесь хранятся имя и описание компонента, размер занимаемой им памяти во время исполнения проекта.
5. Имя_проекта.ico – файл пиктограмм для проекта или компонента.
6. Графический файл, представляющий приложение или компонент на линейке инструментов или в палитре компонентов.
Сведения об объекте
Любой объект, находящийся на рабочем столе, обладает какими-либо свойствами.
Все свойства активного объекта (т.е. того, на котором в данный момент произведен щелчок мыши), мгновенно отражаются в специальном окне под названием Properties(Свойства) (рис.3). Это окно может быть видимо или нет. Сделать окно видимым можно, открыв контекстное меню любого объекта в форме (или самой формы) и выбрав в нем пунктProperties.
Рис.3. Окно сведений об объекте
Вкладка Events(кнопка с молнией) содержит список возможных событий, которые могут происходить с компонентом. Она позволяет связывать каждое событие с программой обработчиком этого события: если дважды щелкнуть мышью на окне с кнопкой рядом с именем события, тоVC++ создаст в модуле формы, в которую помещен компонент, функцию-обработчик этого события. Это будет функция с заголовочной частью, но с пустым телом – не программа, а только заготовка программы.
В это пустое тело в дальнейшем программист вписывает свои команды, которые определяют реакцию компонента на данное событие с учетом передаваемых функции фактических значений ее параметров.
Пусть на форме расположена кнопка Button1. Вид пустого событияOnClick, обрабатывающего нажатие на кнопкуButton1, выглядит следующим образом.
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
}
При создании обработчика идет автоматическое переключение системы на вызов редактора кода, который установит курсор на начало обработчика, чтобы можно было приступать к набору команд программы.
Создадим простейшую программу, которая при нажатии на кнопку выдает окно с соответствующим сообщением. Для этого необходимо в теле функции-события написать строку:
MessageBox::Show(“Кнопочка нажата!”, «Моя обожаемая программка», MessageBoxButtons::OK, MessageBoxIcon::Asterisk);
В результате получим следующее (рис.4).
Рис.4. Выполнение простейшей программы
Заметим, что первая строка, указанная в функции – это выдаваемое сообщение, вторая строка – заголовок окна с сообщениями, третий параметр функции – отображаемая кнопка, четвертый – отображаемое изображение.
Также отметим, что приложение может содержать и более одной формы. Для каждой из них создается свой программный модуль, имя которого высвечивается на вкладке страниц проекта. Вкладки расположены в заголовочной части окна, в которое помещается форма. Переключая вкладки модулей, мы тем самым переключаемся с одной формы на другую.