Kylix. Работа с компонентами

Xakep, номер #032, стр. 032-076-3


Убегаем от мышки

Для того чтобы узнать, когда пользователь пытается навести мышкой на кнопку, нам надо поймать соответствующее сообщение. Снова выдели кнопку и перейди в объектный инспектор. Теперь перейди на закладку Events и поищи что-нибудь подходящее. Не нашел? Странно. Тогда давай будем использовать событие OnMouseMove. Оно происходит тогда, когда пользователь ведет мышкой над кнопкой. А раз он это делает, значит мышка находится над кнопкой, и пора сматывать. Щелкай дважды напротив этого события и пиши туда код из листинга 2.

Первая строка записывает случайное значение в переменную index. Для этого используется функция random. Ей нужно передать один параметр - максимальное значение случайного числа. Я передал 4, значит моя функция random будет записывать в index любое число от 0 до 4.

После этого я проверяю, какое число попало в переменную index. Для этого я использую конструкцию:

case index of

Значение1: Действие1;

Значение2: Действие2;

И так далее

End

Если в переменной index находится Значение1, то выполнится Действие1. В нашем случае в переменной index будут числа от 0 до 4. Вот мы и перечисляем их. Если index=0, то выполнится действие Button1.Left := Button1.Left+Button1.Width, если index=2, то выполнится действие Button1.Left := Button1.Left - Button1.Width и так далее.

Что происходит в этом действии? Button1 - это кнопка. Все что находится после имени кнопки и точки - это свойство или метод этой кнопки. Например, Button1.Left - это свойство, отвечающее за левую позицию кнопки. Точно так же Button1.Width - это ширина кнопки. В итоге мы получаем формулу: Левая_Позиция_Кнопки:= Левая_Позиция_Кнопки+ Ширина_Кнопки.

В зависимости от случайного значения переменной index, наша кнопка будет убегать в случайном направлении.

Нажми F9 или выбери пункт меню Run из меню Run, чтобы запустить прогу. Теперь попробуй нажать на кнопку. Если тебе удалось это сделать, то ты супер кнопколов. Если нет, то нажми кнопку Enter. Так как у тебя кнопка находится в фокусе, то нажатие на Enter - это то же самое, что и кликнуть мышкой по кнопке.

Вот и все. Первое приложение под Linux готово. В следующий раз мы продолжим глумиться над кодингом под Kylix.

Назад на стр. 032-076-2  Содержание