Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.03.2010, 13:17
Smerch66 Smerch66 вне форума
Прохожий
 
Регистрация: 31.10.2009
Сообщения: 43
Репутация: 10
По умолчанию Событие зажатия ЛКМ

Для события нажатия на кнопку у меня написана определённая последовательность действий.
Как сделать так, чтобы эта последовательность действий повторялась постоянно, пока я держу нажатой кнопку?
Спасибо!
Ответить с цитированием
  #2  
Старый 18.03.2010, 13:33
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

логика такая: сделать таймер. стартуешь его когда клавиша нажата, и в обработчике делаешь что надо
Ответить с цитированием
  #3  
Старый 18.03.2010, 13:53
Smerch66 Smerch66 вне форума
Прохожий
 
Регистрация: 31.10.2009
Сообщения: 43
Репутация: 10
По умолчанию

А "клавиша ЛКМ нажата" это как событие называется?
Ответить с цитированием
  #4  
Старый 18.03.2010, 15:39
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Цитата:
Сообщение от Smerch66
А "клавиша ЛКМ нажата" это как событие называется?
переменную заведи, типа Boolean, при нажатии на кнопку (OnMouseDown) ставишь этой переменной true, отпускается (OnMouseUp) - false
ну а далее как говорит friz, по таймеру с проверкой этой переменной
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #5  
Старый 18.03.2010, 18:23
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Не нужен лишний таймер, т.к. при нажатой клавише таймер клавиатуры сам повторяет код этой клавиши. Нажмите какую-нибудь клавишу и смотрите на заговолок формы:
Код:
var
  i: Integer = 0;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  Inc(i);
  Caption:= IntToStr(i);
end;
Я, правда, не понял, это клавиша клавиатуры или нарисованная кнопка?
Всё, дошло, это "левая клавиша мыши". Нет, чтобы сразу расшифровать!

Последний раз редактировалось AlexSku, 18.03.2010 в 18:28.
Ответить с цитированием
  #6  
Старый 18.03.2010, 19:44
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

дело в том что с клавишей на клаве это проканает, а с мышкой нет, так как если ты зажмешь левую кнопу, то ничего не произойдет и отработает только одно нажатие
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter