Организуйте работу Вашего приложения, разработанного на предыдущем занятии (Lab4).
3. Создайте новую форму (File/New/Form). Переименовать Form1 (Caption-Главная форма, Name-MainForm).
4. Для компонента TMainMenu вызовите Menu Designer, щелкнув по кнопке в правой половине строки Items инспектора объектов. Создайте опции меню, аналогичные надписи на кнопках Button формы. Текст опции вводится в строке Caption окна инспектора объектов. Опции меню разделите чертой, для чего назовите очередной элемент меню именем «-».
Главное меню формы должно иметь вид:
Лабораторные работы Выход
Lab2
Lab3
Lab4
Сохранить как Main
5. Назначить главной форму MainForm (Project/Options/Main form:MainForm). Придать функциональность каждому пункту меню.
6. Создать Aboutbox (File/New/Other.../Forms/About box/OK). Изменить: Product Name - Лабораторная работа; Version-1; Copyright-ФИО; Comments-удалить. Кнопке «ОК» придать функциональность (закрытие). Сохранить как About. В MainMenu MainForm (lab5) добавить кнопку «Об авторе» и придать ей функциональность.
7. Работа приложения должна начинаться с ввода пароля ( File/New/Other.../Dialogs/Password Dialog/OK). Для кнопки «ОК» написать процедуру «На проверку пароля». Для кнопки «Cancel» назначить процедуру на закрытие. При правильном вводе пароля осуществляется переход к следующей форме. Сохранить форму как Password. Назначить главной форму PasswordDlg (Project/Options/Main form: PasswordDlg).
8. При работе с формами должна существовать возможность перехода от формы к форме. В каждый момент времени на экране видимой должна быть только одна форма. Формы лабораторных работ должны представлять собой прямоугольник без рамки и заголовка.
Программу запишите в Ваш каталог Lab5.
ЛАБОРАТОРНАЯ РАБОТА №6
ПРОГРАММЫ, УПРАВЛЯЕМЫЕ СОБЫТИЯМИ. СОБЫТИЯ, ОБРАБАТЫВАЕМЫЕ ФОРМОЙ. СОБЫТИЯ ОТ КЛАВИАТУРЫ И МЫШИ. СОБЫТИЯ ПРОТОКОЛА DRAG&DROP. ОБЩЕЕ СВОЙСТВО КОМПОНЕНТОВ HINT.
Теоретические сведения
Для большинства видимых элементов определен набор обработчиков событий, связанных с мышью:
- OnMouseDown: TMouseEvent и OnMouseUp: TMouseEvent определяют реакцию программы на соответственно нажатие и отпускание кнопки мыши;
- OnMouseMove: TMouseMoveEvent - на перемещение указателя мыши над компонентом;
- OnClick:TNotifyEvent и OnDblClick: TNotifyEvent – соответственно на щелчок мыши и двойной щелчок левой кнопки.
Во всех обработчиках параметр Sender содержит ссылку на компонент, с которым произошло событие, а X и Yопределяют координаты точки чувствительности мыши в момент возникновения события. Параметр Button определяет одну из трех кнопок мыши: < левую > (mbLeft), < правую > (mbRight) и < среднюю > (mbMiddle). Параметр Shift содержит признаки, уточняющие обстоятельства возникновения события: ssShift – нажата клавиша <Shift>; ssAlt – нажата клавиша <Alt>; ssCtrl - <Ctrl>; ssLeft – нажата < левая кнопка мыши >; ssRight - < правая кнопка мыши >; ssMiddle - < средняя >; ssDouble – одновременно < левая > и < правая > кнопки.
События от мыши получают любые потомки класса TControl. События от клавиатуры получают только некоторые оконные компоненты:
- OnKeyDown и OnKeyUp возникают при нажатии и отпускании любой клавиши клавиатуры;
- OnKeyPress – только при нажатии алфавитно-цифровых клавиш.
Параметр Shift, как и в обработчиках событий от мыши, содержит уточняющие признаки. Параметр Key содержит код клавиши.
Интерфейс Drag&Drop определяется двумя свойствами и тремя событиями, доступными каждому видимому компоненту:
- DragMode определяет, как будет выполняться весь комплекс действий, связанных с Drag&Drop (dmManual, dmAutomatic):
- DragCursor определяет вид указателя мыши;
- OnDragOver возникает в момент помещения мыши «с грузом» над компонентом (параметр Sender – компонент, который возбудил событие; Source – компонент-отправитель «груза»; X, Y – координаты указателя мыши; State – состояние указателя; Accept – готовность компонента принять данные);
- OnDragDrop означает, что пользователь «бросил» данные на компонент;
- OnEndDrag возникает при завершении перетаскивания (Sender – отправитель данных; Targer - получатель данных или Nil).
Ход работы