Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Delphi - это просто! arrow Delphi. Урок 2. Обработчики событий (events компоненты Delphi 7 программирование)
28.01.2022 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Delphi. Урок 2. Обработчики событий (events компоненты Delphi 7 программирование) Печать E-mail
Автор megabax   
16.06.2009 г.
В предыдущей статье я рассказал о том

Delphi - это просто! Урок 2. Обработчики событий (events)

В предыдущей статье я рассказал о том, как в Delphi написать простейшую программу, которая при нажатии на кнопку выдает сообщение, и объяснил, что такой объект и компонент.  Теперь пришло время заняться чем нибудь посерьезнее. И так, в прошлый раз у нас на кнопке бал надпись Button1. согласитесь, как то несуразно. Давайте сделаем так, что бы у нас на ней была другая надпись. Для этого на форме щелкнем по кнопке один раз, что бы она у нас стала выделенной.*

 

Delphi - это просто! Урок 2. Обработчики событий (events)

 

Delphi - это просто! Урок 2. Обработчики событий (events)

 

 

 

 

 

 


Delphi - это просто! Урок 2. Обработчики событий (events)

 

 

Теперь переключимся на Object Inspector*.

 

Delphi - это просто! Урок 2. Обработчики событий (events)

 

Нас интересует строчка, где слева стоит слово «Caption» (Заголовок). Справа от него надпись «Button1». Это то, что отображается на кнопке. Туда можно ввести что угодно, даже по русский. Например, фразу «Нажмите на меня».

Текст не вошел весь, поэтому кнопку желательно раздвинуть. Подведите к ее краю мышку, что бы появилась двойная стрелка и чуть чуть оттяните, удерживая левую кнопку мыши.  Вот что у нас в итоге получилось*:

 

Delphi - это просто! Урок 2. Обработчики событий (events)

 

 

Сейчас только что мы изменили значение свойства (property) объекта. В предыдущей статье я проводил аналогию между объектами и животными (птицами). Как у живых существ имеются характерные признаки (например, у кошек и собак есть хвост), так и у объектов есть свойства. Свойства могут иметь разный тип. Например, строка, число, булево. Со строками и числами все думаю, ясно. Все знают, чем отличаются буквы от цифр. Тип булево может принимать два значения, «истина» и «ложь», по английский true или false (именно так пишется в программе). В частности, у животных есть свойство булевого типа: наличие хвоста. У кошки он имеет значение true.

У некоторых человекообразных обезьян наличие хоста равно false. Если у кошки хвоста обрубить, то наличие хвоста у нее тоже будет false. Теперь интересный момент. Возьмем две кошки. У одной есть хвост у другой нет. Но обе они являются объектами одного и того же класса: Кошки (TCat – так бы их мог обозначить программист в Delphi), но с разными значениями свойств.

Для того что бы проиллюстрировать это, «бросим» на форму еще одно кнопку и укажем ей другое свойство Caption. У нас будут два объекта класса TButton. Но с разными значениями свойства Caption.

Еще у свойств есть обработчики событий (Events). Что это такое объясню опять же на примере с кошкой. Допустим, она видит мышку. У кошки включается программа «поймать и съесть». Это и есть обработчик события «вижу мышку».

У объектов Delphi другие обработчики. Например, кликанье на объекте мышкой (кстати, в прошлый раз мы как раз его программировали), нажатие клавиши на клавиатуре, перемещение указателя мыши, создание объекта, уничтожение объекта и многие другие. Давайте посмотрим, какие событие обрабатывает объект Button, переключившись в Object Inspector-е на закладку «Events»*.

 

Delphi - это просто! Урок 2. Обработчики событий (events)

Событие OnClick вам уже знакомо – клик на объекте мышкой.  Все события я не буду здесь описывать, остановлюсь лишь не некоторых.

Следующее событие OnContextPopup. Оно срабатывает когда пользователь использует мышку или клавиатуру для   вызова выплывающего меню. Если пользователь щелкнул по кнопке правой кнопкой мыши,  то данное событие будет сгенерировано и вызовется его обработчик, не важно, если у данного объекта всплывающее меню или нет.

OnMouseMove – это событие возникает, когда пользователь наводит мышкой на объект.

OnKeyPress – генерируется, когда пользователь нажимает кнопку на клавиатуре. Давайте попробуем испытать это событие на практике. Сделаем две кнопки. У одной из них создадим обработчик события OnKeyPress, просто щелкнув по соответствующей строчке в Object Inspector-е.

 

 

 

 

Введите между словами begin и end:

 

messageDlg('Вы нажали на кнопку '+Key,mtInformation,[mbOk],0);

 

Запустите программу. Клавишей Tab на клавиатуре компьютера перенесите фокус на ту кнопку, на которую мы назначили данный обработчик.

Delphi - это просто! Урок 2. Обработчики событий (events)

Нажмите на клавиатуре буквенно-цифровую клавишу. У вас выйдет сообщение примерно такого содержания:

Delphi - это просто! Урок 2. Обработчики событий (events)

 

Перенесите фокус на другую кнопку. Снова нажмите на клавиатуре буквенно-цифрровую клавишу. На этот раз ничего не произойдет. Все верно, мы не назначили на нее обработчик события OnKeyPress.  Давайте попробуем назначить. В режиме редактирования выделите другую кнопку, перейдите в Object Inspector и создайте обработчик события.

 

Button1.Caption:=Key;

 

Теперь запустите программу. На этот раз, когда у нас будет фокус на данной кнопке. Нажатие на буквенно-цифровую клавишу будет менять надпись на этой самой кнопке:

 

Delphi - это просто! Урок 2. Обработчики событий (events)

 

 


Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями   программного продукта "Delphi", авторское право на который принадлежит "Borland Software Corporation".


 

 

Последнее обновление ( 15.07.2012 г. )
 
« След.
 
© 2022 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги