Ofline
Событие OnMouseClick используется для события Short Touch в Button или ListBox и т. Д.
Delphi в FireMonkey не предоставляет событие Long Touch отдельно.
Интеллектуальное устройство Android или iOS обычно определяет длительность касания около 0,7-1,0 секунд.
Таким образом, длительное касание может быть определено путем измерения таймера отсчета 0,1 секунды при нажатии кнопки или любых других объектов.
Событие OnMouseClick, используемое для Button или ListBox, используется для быстрого нажатия в сенсорном терминале.
Delphi FireMonkey не предоставляет отдельного события длинного касания.
Поэтому, чтобы применить событие длинного касания, таймер может быть запущен в заданной точке события OnMouseDown, и по истечении определенного периода времени он может быть определен и обработан как длительное касание.
Смарт-терминалы Android или iOS считаются длинными касаниями, когда пользователь нажимает кнопку в течение примерно 0,7-1,0 секунд.
Поэтому вы можете измерить количество раз, генерируя таймер каждые 0,1 секунды, пока кнопка нажата.
[Метод]
1. OnMouseDown: запуск таймера
2. OnMouseUp: таймер счета ~ событие короткого касания
3. OnTimer: увеличение количества таймеров ~ событие длинного касания
[Пример исходного кода]
1. Таймер инициализации
2. Объявление глобальной переменной
3. Обработчики событий работают
Delphi в FireMonkey не предоставляет событие Long Touch отдельно.
Интеллектуальное устройство Android или iOS обычно определяет длительность касания около 0,7-1,0 секунд.
Таким образом, длительное касание может быть определено путем измерения таймера отсчета 0,1 секунды при нажатии кнопки или любых других объектов.
Событие OnMouseClick, используемое для Button или ListBox, используется для быстрого нажатия в сенсорном терминале.
Delphi FireMonkey не предоставляет отдельного события длинного касания.
Поэтому, чтобы применить событие длинного касания, таймер может быть запущен в заданной точке события OnMouseDown, и по истечении определенного периода времени он может быть определен и обработан как длительное касание.
Смарт-терминалы Android или iOS считаются длинными касаниями, когда пользователь нажимает кнопку в течение примерно 0,7-1,0 секунд.
Поэтому вы можете измерить количество раз, генерируя таймер каждые 0,1 секунды, пока кнопка нажата.
[Метод]
1. OnMouseDown: запуск таймера
2. OnMouseUp: таймер счета ~ событие короткого касания
3. OnTimer: увеличение количества таймеров ~ событие длинного касания
[Пример исходного кода]
1. Таймер инициализации
- Включить: Ложь
- Интервал: 100 (мсек)
2. Объявление глобальной переменной
Код:
var
ClickInterval: Cardinal = 0;
const
LONG_TIME = 8; // длительное время касания: 0,8 сек
Код:
процедура TForm1.ListBoxItem1MouseDown (Отправитель: TObject; Кнопка: TMouseButton; Shift: TShiftState; X, Y: Одиночный);
begin
ClickInterval: = 0;
Timer1.Enabled: = ИСТИНА;
конец;
// ************************************************ **********************************
//
процедура короткого касания TForm1.ListBoxItem1MouseUp (Отправитель: TObject; кнопка: TMouseButton ; Shift: TShiftState; X, Y: одиночный);
begin,
если ClickInterval <LONG_TIME, затем
begin
Timer1.Enabled: = FALSE;
ClickInterval: = 0;
ShowMessage ('ListBox Shot Touch .. !!');
конец;
конец;
// ************************************************ ***************************************
// Long Touch
// Вызывается один раз каждые 0,1 секунды -> Когда 8-й вызов является
процедурой длинного касания TForm1.Timer1Timer (Отправитель: TObject);
begin
ClickInterval: = ClickInterval + 1;
if (ClickInterval = LONG_TIME) затем
начать
Timer1.Enabled: = FALSE;
ShowMessage ('ListBox Long Touch .. !!');
конец;
конец;