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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.07.2011, 19:50
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию Отловить Dblclick у Image с событием Click

подскажите как отловить?
есть Image, надо сделать ему два события, onClick и OnDblClick, но перед двойным нажатием происходит Клик и ничего не получается.
Желательно код в пример привести,а то погуглил, многие пишут таймером ,или Shift на Mousedown смотреть,но конкретного примера нигде не нашел.
Ответить с цитированием
  #2  
Старый 02.07.2011, 21:30
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

И не найдёшь, DblClick является продолжением Click.
Ответить с цитированием
  #3  
Старый 02.07.2011, 21:39
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

Цитата:
Сообщение от angvelem
И не найдёшь, DblClick является продолжением Click.
но ведь кактож делают этот дабл клик!
Ответить с цитированием
  #4  
Старый 02.07.2011, 21:45
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Конечно, но при этом про клик забывают. Есть конечно выход, заведи переменную, взводи по клику и сбрасывай по дблклику. Остальное додумаешь?
Ответить с цитированием
  #5  
Старый 02.07.2011, 22:00
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

Цитата:
Сообщение от angvelem
но при этом про клик забывают.
ага,а какже в винде клик по ярлычкам реализован?одинарный - выделить,двойной - открыть.

сделал следующую причуду:
прадва думаю это плохой вариант,потому что при одинарном клике словно тормознутось возникает небольшая,хотя наверное если юзер не знает о таймере то эту тормознутось не заметит))
интревал таймера поставил 200
Код:
var
i:Integer=0;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Timer1.Enabled:=false;
if i>1 then ShowMessage('двойной')
else ShowMessage('одинарный');
i:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Inc(i);
Timer1.Enabled:=True;
end;

Последний раз редактировалось Snake22, 02.07.2011 в 22:03.
Ответить с цитированием
  #6  
Старый 02.07.2011, 22:12
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Без выкрутас:
Вложения
Тип файла: rar prj.rar (41.6 Кбайт, 7 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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