Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

Щелчок мышью   Найти похожие ветки 

 
DJ Vano   (2003-06-22 23:51) [0]

Простая ситуация: по форме при первом щелчке Л.К.Мыши выполнается действие. При втором щелчке Л.К.мыши - другое.
Как это осуществить ?
Если можно с кусочком кода - примером.
Заранее благодарен...


 
jack128 ©   (2003-06-22 23:53) [1]

а при третем щелчке что делать?


 
Palladin ©   (2003-06-23 00:02) [2]

третий щелчек отменяет второй щелчек
четвертый щелчек отменяет отмену второго щелчка
пятый щелчек рассматривается как издевка над программистом
шестой перезагружает систему, без разговоров

OnClick и вперед... считай... делай...
кусочек кода?
procedure TForm1.Button1OnClick(Sendre:TObject);
begin
inc(button1.tag);
button1.caption:="Щелчек номер "+inttostr(button1.tag);
end;


 
EviL_forever ©   (2003-06-23 02:25) [3]

>>Palladin Всё ты знаешь, всё ведаешь, ламерам отвечаешь на всякий отстой, а на мои заморочки - ещё не разу!!!
чё - впадлу, чтоли?


 
Думкин ©   (2003-06-23 05:56) [4]

Если у тебя есть конечная группа действий, и ты можешь определится с их порядком взависимости от номера нажатия или еще от чего, то :
1. Заведи тип сосотояний TState = (State1,State2....);
2. У себя заведи переменную данного типа.
3. В обработчике нажатия - действие идет взависимости от данного состояния - например по case.
4. Состояния можешь перключать функций(либо гоняешь по циклу, либо более сложно взависимости от состояния программы в целом).


 
Юрий Зотов ©   (2003-06-23 08:16) [5]

type
TForm1 = class(TForm)
...
procedure Click(Sender: TObject);
...
private
FFirstClick: boolean;
...
end;

procedure TForm1.Click(Sender: TObject);
begin
FFirstClick := not FFirstClick;
if FFirstClick
then ... // Это нечетный щелчок
else ... // А это четный щелчок
end;


 
Palladin ©   (2003-06-23 08:42) [6]


> EviL_forever © (23.06.03 02:25)

покажи мне свои вопросы
http://www.delphimaster.ru/cgi-bin/forum.pl?n=0&showpage=1&user=EviL_forever


 
Anatoly Podgoretsky ©   (2003-06-23 09:22) [7]

Заведи счетчик и сравнение if/case
Примерно так
Counter := Counter + 1;
здесь анализ его.

Palladin © (23.06.03 08:42)
Точно поклеп с наездом.


 
ghg ©   (2003-06-23 09:34) [8]

господа, а может имеется в виду что, при одиночном нажатии одно действие, а при двойном другое (причем без выполнения того что происходит при одиночном)?

Если так то что можно ответить? :)


 
OlDemon ©   (2003-06-23 09:51) [9]

OnClick
OnDblClick


 
ghg ©   (2003-06-23 11:25) [10]

>OlDemon © (23.06.03 09:51)
это понятно
вопрос в другом можно ли обработать событие OnDblClick, без наступления OnClick ?

Насколько я знаю нельзя. Так может автор имел ввиду именно это?


 
Palladin ©   (2003-06-23 11:30) [11]

почему? можно, надо просто алгоритм следящий за временными интервалами организовать и использовать MouseUp MouseDown...


 
Sandman25 ©   (2003-06-23 11:48) [12]

>Простая ситуация: по форме при первом щелчке Л.К.Мыши выполнается действие. При втором щелчке Л.К.мыши - другое.

Как вариант...

procedure TMyForm.OnClick(Sender: TObject);
begin
Sender.OnClick := OnSecondClick;
...// действия при первом щелчке
end;

procedure TMyForm.OnSecondClick(Sender: TObject);
begin
...// действия при втором и т.д. щелчке
end;


 
Sandman25 ©   (2003-06-23 11:52) [13]

Ошибочка
TButton(Sender).OnClick := OnSecondClick;



Страницы: 1 вся ветка

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.038 c
3-7294
niko4543
2003-06-08 15:13
2003.07.03
JPEG


14-7596
vajo
2003-06-18 06:14
2003.07.03
Установка Creative Sound Blaster Audigy Live!


1-7518
K_ostya
2003-06-21 20:38
2003.07.03
Screenshot


1-7539
EgorKA
2003-06-19 01:45
2003.07.03
Выделение строки в ListBox правой кнапой мышки


14-7599
Alexander Vasjuk
2003-06-12 16:08
2003.07.03
Вместо Русских букв в форме вопросы ??? ?????? ??