Загрузите систему визуального программирования 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).

Ход работы