Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.009 c
4-7753
Tenrai
2003-04-29 04:48
2003.07.03
Подключение визуального компонента к программе на WinAPI


14-7637
OlegM
2003-06-16 07:50
2003.07.03
Как сохранить картинку


3-7359
Valet
2003-06-11 09:35
2003.07.03
Где взять провайдер для работы с IB через АDO


6-7584
Лана Розанова
2003-04-29 15:31
2003.07.03
Web


1-7519
den_c
2003-06-20 14:12
2003.07.03
Вопрос по OLE Automation





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский