Загрузите систему визуального программирования Delphi.
Организуйте работу Вашего приложения, разработанного на предыдущем занятии (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).
Ход работы