Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Способ формирования обработчика событий



1) Выберем объект, к которому будет относится рассматриваемое событие (кнопку Button1);

2) В инспекторе объектов перейдем на вкладку EVENTS (события);

3) Найдем в списке событий строку нужного события. В данном случае это событие Onclick т.к. для объекта Button1 обработчик уже создан то в строке ONCLICK будет стоять Button1Click.

4) Дважды щелкнем на правой части соответствующей строки.

Система Delphi 7 автоматически сгенерирует необходимый программный код и перейдет в редактор

 

 

№11 Иерархия компонентов

В основе всей иерархии класса Delphi лежит класс TObject. Он обладает общими методами, присущими любому объекту Паскаля, и описывает основные принципы поведения объектов во время работы программы.

 

Основные методы класса TObject

метод назначения
Class function ClassName: short string Возвращает название типа объекта (например TEdit)
Class function ClassNameIs (const name: string): Boolean Возвращает true если объект относиться к указанному типу
Constructor Create Конструктор. Выделение памяти для объектов.
Destructor destroy Деструктор, использовать напрямую не рекомендуется
Pr Free Удаляет объект и освобождает занятую им память

 

 

На уровне класс NPersistent наследник класса TObject реализованы основные методы копирования содержимого объектов

 

 

Основные методы касса TPersistent

метод назначения
Pr Asssign (source: TPersistent) Пример( Obj.Assign(Source) ) Копирование содержимого объекта параметра в текущий объект
Pr Assign To (Dest: TPersistent) Копирование содержимого текущего объекта в объект заданный в качестве параметра
Func GetOwner: TPersistent; Возвращает «хозяина» объекта
   

 

 

Класс TComponent (наследник класса Tpersistent) основной родительский класс для всех классов, описывающих компоненты Delphi 7. В него входит набор самых общих свойств имеющиеся у каждого компонента Delphi 7 и некоторые методы.

Свойства класса TComponent

Компоненты Cвойства
ComponentCount Число объектов подчиненных данному
ComponentIndex (-//- Index) Номер компонента в свойстве Components
Components Список объектов подчиненных данному.
ComponentState Текущее состояние компонента
ComponentStyle Стиль компонента
Name Название компонента в программе
Owner Хозяин компонента
Tag Дополнительно свойство, хранящее число типа Integer, которое может использоваться для собственных нужд разработчика

 

Основные метода класса TComponent

Метод Назначения
Func GetParentComponent: TComponent Определения собственника текущего объекта
Pr InsertComponen (AComponent: TComponent) Добавление объекта в конец списка Components
Pr RemoveComponent (AComponent: TComponent) Удаление объекта из списка Components

 

Компоненты условно можно разделить на 3 группы:

  1. Не визуальные компоненты, не имеющие представление на экране и не взаимодействующие с пользователем.
  2. Визуальные компоненты ( элементы управления), имеющие визуальное представление и взаимодействующие с пользователем.
  3. Диалоговые компоненты, которые не имеют визуального представления, но могут его приобретать для временного взаимодействия с пользователем.

Класс TControl (наследник класса TCOmponent) является основным классом для всех визуальных элементов управления. Если элемент управления является стандартным элементом Windows то он основывается на промежуточном классе TWinControl (наследники класса TCOntrol). Не визуальные компоненты наследуются напрямую от класса TComponent. Диалоговые компоненты являются наследниками класса TСommonDialog (прямого наследника класса TComponent).

 

№ 12 Обработка событий мыши и клавиатуры

1.Обработка фактического щелчка мышкой на объекте - событие OnClick

2. Событие OnMouseDown( при нажатии на кнопку мыши)

3. Событие OnMOuseUp ( при отпускании кнопки мыши)

Два последних события содержать подробную информацию о параметрах щелчка: координаты указателя мыши в рамках клиентской области объекта, на котором был выполнен щелчок; тип щелчка (одинарный или двойной) какая кнопка мыши была нажата или отпущена из состояния системы клавиш Shift, Alt, Ctrl.

Пример. Обработчик события OnMouseDown:

 

Pr TMyForm.Button1MouseDown ( Sender: Tobject; Button: TMouseButton; Shift: TShiftState; X, Y: integer);

 

Тип TMouseButton содержит 3 значения: mbLeft, mbRight, mbMiddle. Прзнаки использования левой, правой и средней кнопок мыши.

Тип TShiftState – множество комбинаций нажатых клавиш (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble).

Событие OnMouseUp генерируется всегда 1 раз а OnMouseDown – несколько раз.

4. Событие OnMouseMove вызываемое при перемещении указателя мыши над объектом. В заголовке обработчика этого события указываются только координаты текущей позиции указателя мыши и состояние кнопок мыши.

4. Событие OnKeyDown наступает если компонент находится в фокусе, при нажатии пользователем любой клавиши включая shift, alt и ctrl.

В обработчик события передаются: параметр Sender указывающий на компонент? В котором произошло событие параметры Key и Shift. Параметр Key определяет нажатую клавишу клавиатуры. Для неалфавитно цифровых клавиш используется виртуальный код API Windows. Коды не различают символы в верхнем и нижнем регистрах и не различают символы кириллицы и латинские. Параметр Shift имеет только 3 значения: ssShift, ssAlt, ssCtrl.

6.Событие OnKeyUp наступает если компонент находится в фокусе при отпускании пользователем любой ранее нажатой клавиши, включая shift, alt и ctrl /

В обработчик события передаются параметры Sender, Key и Shift.

События OnKeyUp наиболее удобно для распознавания комбинаций нажатых клавиш. Параметр Key имеет тип Word, поэтому для его распознавания необходимо сравнивать Key с целым числом, соответствующим коду символа или применять к Key функцию chr переводящую его в символ.

7.Событие OnKeyPress наступает если компонент находится в фокусе при нажатии пользователем клавиши.

В обработчик этого события передаются параметры Sender и Key. Параметр Key имеет тип char и соответствует символу нажатой клавиши. При этом различаются символы верхнем и нижних регистрах, символы кириллицы и латинские. Клавиши не отражаемые в кодах ASCII ( функциональных клавиш shift, alt и ctrl) не вызывают этого события. Для того, чтобы распознать клавиши, не советующие символам или комбинации клавиш, необходимые использовать обработчики событий OnKeyDown и OnKeyUp

 

If (Edit1.Texnt=”) then

Begin

 

№ 13. Форма. Добавление новой формы в программу со многими формами.

 

Форма (класс TForm) содержит множество свойств, методов и событий, позволяющих легко настраивать самые сложные алгоритмы её функционирования.

Основные свойства класса TForm

Свойства Назначения
ActiveControl Объект на форме, который имеет фокус ввода
Canvas Область рисования формы
HelpFile Название файла справки для формы
Icon Значок, обозначающий форму, когда она свернута
Menu Ссылка на главное меню формы
ModalResult Значение, возвращаемое формой, если она работает как модальное диалоговое окно
Parent Хозяин формы
PixelsPerInch Число пикселей на дюйм применяется для настройки размеров формы в зависимости от экранного разрешения
Position (ppDesigned, ppScreenCenter и др.) Положение формы на экране в момент её открытия в программе
Scaled Содержит значение True, если размер формы будет подгоняться в соответствии со значением свойства PixelsperInch
WindowState Состояние формы (свернуто, развернуто или нормальный размер)

 

События формы

Название события Доп. параметры обработчика Описание
OnCreate   Вызывается при создании формы после выполнения конструктора
ONshow   Вызывается при отображении формы (методами showModal)
Onactivate   Вызывается при получении формой фокуса ввода (форма становится активной) автоматически вызывается после отображения формы методами Show and Showmodal т.е. после отображения форма активна.
Onpaint   Вызывается при необходимости прорисовки формы (при затирании области формы другим окном).
OnHide   Вызывается при скрытии формы с экрана методом Hide или при установке свойства Visible в False.
Ondeactivate   Вызывается при потери формой фокуса ввода (при перемещении на другую форму, а также при сворачивании формы или приложения), автоматически вызывается при скрытии формы с экрана методом Hide.
OncloseQuery Var CanClose: Boolean Вызывается для проверки возможности закрытия вне зависимости от действий, которые следует произвести при закрытии формы возможно или нет закрыть форму возвращается в параметры CanClose.
OnClose Var action: TCloseAction Вызывается для определения действий, которые необходимо произвести при закрытии формы. Указание на вид закрытия возвращается в параметр Action.
Ondestroy   Вызывается при разрушении перед вызовом деструктора.

 

События создания и разрушения предназначены для выполнения каких-либо специфических действий при переходе Формы из одного состояния в другое. Событие Onpaint, OncloseQuery, OnClose назначены для настройки поведения формы.

При создании формы, её отображении на экране (вне зависимости от используемого метода) и последующем закрытии события происходят в следующей последовательности:

1) OnCreate; 2) Onshow; 3) OnActivate; 4) OncloseQuery 5) OnClose; 6) OnHide; 7) Ondeactivate; 8) Ondestroy;

При создании новой формы в проектировщике появится сразу новая пустая форма. Переключатся между имеющимися в проекте формами можно с помощью комбинации клавиши Shift-F12.

У программы может быть только одна главная форма – эта форма которая появляется при запуске программы и неограниченное число подчиненных форм, которые исходно на экране не появляются, а вызываются по команде из программы с помощью специальных методов.


Поделиться:



Последнее изменение этой страницы: 2017-04-13; Просмотров: 620; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.022 с.)
Главная | Случайная страница | Обратная связь