События Delphi - Форум
Суббота, 08.02.2025, 21:47 | Приветствую Вас Гость

Жми-форум обо всём

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

  • Страница 1 из 1
  • 1
Модератор форума: RoMkA29  
События Delphi
RoMkA29Дата: Понедельник, 08.04.2013, 23:18 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 264
Репутация: 3
Статус: Offline
Операционная система Windows - многозадачная, т.е. несколько программ в ней могут функционировать одновременно. Когда, например, мы щёлкаем по кнопке в окне нашей программы, система Windows определяет, что произошло событие именно в нашей программе, и посылает ей сообщение об этом. Наша программа должна соответствующим образом отреагировать на него. Для этого мы, как программисты, должны написать код-обработчик этого события. Таким образом, структура программы для Windows представляет собой набор подпрограмм, каждая из которых ответственна за обработку конкретного события и вызывается только при его возникновении.Удобство Delphi состоит в том, что мы избавлены от необходимости получать сообщения отWindows сами, Delphi это делает за нас. Каждый компонент имеет впечатляющий набор событий, на которые он может реагировать. Программист сам определяет, какие события в программе требуется обрабатывать.



Откройте наш проект из предыдущего урока. Щелкните на компонентеEdit1. Он "появится" в Инспекторе объектов. Посмотрите: в Инспекторе объектов две вкладки: Properties (свойства) и Events (события). Перейдите на вкладку Events. Чтобы создать обработчик нужного события, нужно дважды кликнуть по нему мышкой. А если раскрыть выпадающий список, в нём будут находиться уже готовые обработчики, которые могут подходить для этого компонента. Таким образом, один обработчик может вызываться для обработки событий нескольких компонентов.
  • Кликаем дважды по onChange, и оказываемся внутри только что созданного обработчика.
  • Присваиваем свойству Caption компонента Label1 значение свойства Textкомпонента Edit1, то есть делаем то же, что и в прошлом уроке:

       Label1.Caption := Edit1.Text;

    Или просто копируем из обработчика нажатия кнопки.
  • Запускаем программу, всё работает. Как видим, всё очень просто.
    • onChange
    • onClick
    • onEnter

    • onExit - возникает, когда компонент теряет фокус ввода;
    • onDblClick - возникает при двойном щелчке мышкой по компоненту;
    • onKeyDown - когда при нажатии на кнопку на клавиатуре она оказалась в нижнем положении;
    • onKeyUp - когда при отпускании клавиатурной кнопки она оказалась в верхнем положении;
    • onKeyPress - возникает при нажатии на клавиатурную кнопку. От событийonKeyDown и onKeyUp оно отличается типом используемого параметра Key ;
    • onMouseDown - когда при нажатии кнопки мышки она оказалась в нижнем положении;
    • onMouseUp - когда при отпускании кнопки мышки она оказалась в верхнем положении;
    • onMouseMove - возникает при перемещении указателя мышки над компонентом.

       В начале работы любой программы происходит очень важное событие событие нашего основного компонента - Формы, onCreate. Оно происходит перед появлением Формы на экране. Это событие используется для задания свойств тех элементов программы, которые нуждаются в настройке, например, размеры и положение Формы на экране. Если вы захотите сделать невидимую программу, можно приравнять нулю ширину Width и высоту Height Формы. На этапе проектирования сделать этого нельзя, т.к. это помешает работе, поэтому делаем это по событию onCreate:

       Form1.Width := 0;
       Form1.Height := 0;


    Дополнительно нужно убрать и заголовок Формы, выбрав в Инспекторе Объектов параметр BorderStyle равным None. Теперь Форма на экране не появится. Единственным визуальным признаком останется появление её "значка" на панели задач. В дальнейшем я расскажу, как избавиться и от него.
  •  
    • Страница 1 из 1
    • 1
    Поиск:

    Навигация
    Block title
    Форма входа

    Наш бот
    Наш бот информер

    ICQ:636-921-022
    Jabber:zhmibot@jabber.ru
    Случайные картинки
    Случайная музыка
    [12.03.2013][mp3]
    Schok/Dakota – не держи меня, оставь возьми ударь если хочеш (0)
    Schok/Dakota – не держи меня, оставь возьми ударь если хочеш
    [30.11.2013][mp3]
    Serebro(Серебро) - Мало тебя (0)
    Serebro(Серебро) - Мало тебя
    [11.03.2013][mp3]
    Жека Кто ТАМ - За груснявую любовь(Boston Prod) (0)
    Жека Кто ТАМ - За груснявую любовь(Boston Prod)
    Опрос
    Вы к нам ещё вернетесь?
    Всего ответов: 32
    Поиск
    Обновление
  • Куплю, обмен швейцарские франки 8 серии, английские фунты (1)
  • Раздача Халявы (ICQ Дедиков Wmz Wmr, Steam аккаунты к играм (1)
  • Мы же русские люди, нам не привыкать привыкать! (1)
  • Букмекерская контора Betsstore (1)
  • Полезные советы для пользователей Windows XP (1)
  • Статистика


    Яндекс.Метрика
    Статистика