Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизЩелчок мышью Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c