Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по лабораторным Delphi.doc
Скачиваний:
42
Добавлен:
13.02.2016
Размер:
610.3 Кб
Скачать

Лабораторная работа №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).

Ход работы

1. Загрузите систему визуального программирования Delphi.

2. Создайте подкаталог Lab6 в своем каталоге.

3. На форме расположите: две панели Panel1, Рanel2; на них соответственно две метки Label1, Label2; два однострочных редактора Edit1, Edit2; один компонент TStatusBar с именем StatusBar1(который расположен на панели Win32).

4. Компонент tStatusBar.

Компонент TStatusBar предназначен для создания панелей состояния, которые обычно располагаются в нижней части основной формы. Компонент может иметь несколько секций. Количество секций, а также стиль каждой панели задаются с помощью специального редактора, который вызывается свойством Panels. Это свойство содержит объекты-панели. Свойство TStatusPanels.Items[Index: integer] открывает доступ к панели по ее индексу. С помощью редактора Editing St… определите три секции панели. Измените ширину каждой секции.