- •Объектно-ориентированное программирование
- •Оглавление
- •Лабораторная работа №1 Простой диалог Цель работы
- •Методические указания
- •1. Добавление нового компонента
- •2. Метка Label (страница Standard)
- •3. Окно редактирования Edit (страница Standard)
- •4. Кнопки Button, BitBtn (страницы Standard, Additional)
- •5. Компонент CheckBox (страница Standard)
- •6. Компоненты GroupBox, RadioButton (страница Standard)
- •7. Компонент ComboBox (страница Standard)
- •Пример выполнения задания
- •Int a, b, c; //стороны
- •Задания
- •Лабораторная работа №2 Управляющие компоненты Цель работы
- •Методические указания
- •1 . Компонент Timer (страница System)
- •If (!Str.IsEmpty()) // Если строка не пуста
- •2. Компонент PageControl (страница Win32)
- •3 . Компонент DateTimePicker (страница Win32)
- •4 . Компонент TrackBar (страница Win32)
- •5 . Компонент UpDown (страница Win32)
- •Задания
- •Лабораторная работа №3 Проектирование меню Цель работы
- •Методические указания
- •1 . Многострочные окна редактирования Memo (страница Standart) и RichEdit (страница Win32)
- •2. Создание меню с помощью мастера
- •3. Компоненты MainMenu и РоpupMenu (панель Standart)
- •4. Проектирование меню с помощью Конструктора Меню
- •5. Организация отклика на вызов пункта меню
- •6. Диалоги как модальные формы
- •7. Создание диалогового окна с помощью шаблона
- •8. Вызов диалогового окна пунктом меню
- •9. Прием введенных значений из диалогового окна в основное окно приложения
- •Задания
- •Лабораторная работа №4 Компоненты отображения данных. Вызов стандартных диалогов Цель работы
- •Методические указания
- •1. Компонент ImageList (страница Win32)
- •2. Компонент TreeView (страница Win32)
- •Int NomZach; // номер зачетной книжки
- •Int Shit; //номер читательского билета
- •3. Компонент ListView (страница Win32)
- •4. Компонент OpenDialog (страница Dialogs)
- •5. Компонент FontDialog (страница Dialogs)
- •6. Компонент ColorDialog (страница Dialogs)
- •Задания
- •Лабораторная работа №5 Подготовка справочной системы Цель работы
- •Методические указания
- •1. Создание текстового файла разделов (*.Rtf)
- •Сноска #
- •Сноска к (заглавная латинская буква)
- •2. Создание файла содержания (*.Cnt)
- •3. Создание файла проекта
- •4. Подключение справочной системы к приложению
- •Задание
- •Библиографический список
5. Организация отклика на вызов пункта меню
Основное событие раздела — OnClick, возникающее при щелчке пользователя на разделе или при нажатии «горячих» клавиш. В обработчик этого события можно перейти, используя вкладку Events Инспектора Объектов в процессе конструирования меню или щелкнув мышью по разделу меню на форме (обратите внимание – на форме, а не в Конструкторе Меню).
6. Диалоги как модальные формы
Диалоговое окно представляет собой отдельно проектируемую форму. Каждая форма представлена в программе отдельным модулем с заголовочным файлом. Для возможности вызова диалога из основной формы необходимо подключить заголовочный модуль диалога в модуль основной формы с помощью директивы препроцессора include.
Например, если главная форма определяется модулем «Main.cpp», а диалоговая – «MyDialog.cpp», то необходимо в файл «Main.cpp» добавить строку:
#include “MyDialog.h”
Диалоговая форма должна появляться и закрываться во время выполнения программы. Поэтому при проектировании целесообразно задавать свойство Visible – видимость – диалоговой формы false, а в программе предусмотреть изменение формы в видимую в ответ на какие-либо действия пользователя, например, при выборе им пункта меню. Форму можно сделать видимой методами Show ( ) и ShowModal ( ), например,
Form2->Show()
Метод ShowModal( ) открывает форму как модальную. Открытие форм как модальных используется в большинстве диалоговых окон. Модальная форма приостанавливает выполнение вызвавшей ее процедуры до тех пор, пока пользователь не закроет эту форму. Модальная форма также не позволяет пользователю переключить фокус курсором мыши на другие формы данного приложения, пока форма не будет закрыта. Так что пользователь должен выполнить предложенные ему действия прежде, чем продолжить работу. Модальной может быть сделана любая форма, если она делается видимой методом ShowModal. Если та же самая форма делается видимой методом Show( ), то она не будет модальной.
Поведение модальной формы определяется ее основным свойством ModalResult. Это свойство доступно только во время выполнения приложения. При открытии формы методом ShowModal сначала свойство ModalResult=mrNone=0. Как только при обработке каких-то событий на форме свойству ModalResult будет присвоено положительное значение от 1=mrOK до 8=mrAll, модальная форма закроется.
Если на модальной форме размещена кнопка, то при ее нажатии происходит присваивание свойству ModalResult формы значения свойства ModalResult кнопки. Значение свойства ModalResult кнопки можно задать в процессе проектирования программы, выбрав его из выпадающего списка свойств в Инспекторе Объектов. Значение свойства ModalResult формы можно будет прочитать после ее закрытия.
Пример:
{……
Form2->ShowModal();
if (Form2->ModalResult = = mrCancel)
Edit1->Text = ”В окне Form2 была нажата кнопка Отмена”
……}
Таким образом, программа, вызвавшая модальную форму, может узнать, что сделал пользователь, работая с этой формой, например, по какой он кнопке щелкнул.