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

Вниз

Как убить событие OnClick и OnDblClick?   Найти похожие ветки 

 
NeyroSpace ©   (2002-10-31 17:15) [0]

Я так понимаю сначала Click обрабатывается в
procedure TForm.Tree1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
А потом уже OnClick и OnDblClick.

Кликаю с нажатым CTRL, и обрабатываю его в MouseDown, дальнейшую обработку клика (OnClick и OnDblClick), надо убить. Как?


 
MBo ©   (2002-10-31 17:17) [1]

не убивай, а выставь флаг, который снимешь в последнем событии


 
NeyroSpace ©   (2002-10-31 17:21) [2]

а без глобальных переменных нельзя?


 
Zemal ©   (2002-10-31 17:25) [3]

Поставь в событиях, которые надо убить "Abort;" и всё... на этом вся обработка события далее прекратиться :).


 
NeyroSpace ©   (2002-10-31 17:40) [4]

что-то не выходит...
Короче при нажатии на CTRL вызывается BeginDrag, а за ним Abort.
И по идее OnClick не должен дальше вызыватся, но выходит по-другому сначала срабатывает OnClick, а потом начинается BeginDrag.


 
Zemal ©   (2002-10-31 17:56) [5]

Тогда перепиши компонент и перекрой события, которые тебе надо одноимёнными методами и поставь "...; message WM_USER;"... или это тебе сложно будет реализовать?
Кстати, как-то можно перехватывать это сообщение и останавливать генерацию события компонента... щас гляну, может что накопаю :).


 
pusrg ©   (2002-10-31 17:57) [6]

BeginDrag нужно вызывать в MouseDown.
Далее нужно ставить Abort не в MouseDown, а в OnClick и в MouseUp


 
NeyroSpace ©   (2002-10-31 17:59) [7]

А что такое TBasicAction, TNotifyEvent ?
И нельзя ли решить при помощи их эту проблему?


 
Zemal ©   (2002-10-31 18:06) [8]

>> pusrg
Спасибо! А я думал что он туда это и поставил :),а он в MouseDown оказывается Abort зафигачил... а я голову ломаю, почему неработает :(. Спасибо!


 
Zemal ©   (2002-10-31 18:10) [9]

>> NeyroSpace
type TNotifyEvent = procedure(Sender: TObject) of object;
т.е. это класс процедур-обработчиков событий... и как интересно ты его использовать собираешься? уж не переписать-ли? :) гы-гы


 
Zemal ©   (2002-10-31 18:15) [10]

>> NeyroSpace
TBasicAction - это базовый класс экшенов, используемый в TApplicationEvents, потомка от TApplication, и который работает с событиями приложения... можно добавлять события свои и генерировать их в "ручную", так сказать... вот TBasicAction это и есть это событие... короче в двух словах необъяснишь... лучше в книге почитай :).



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

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

Наверх




Память: 0.49 MB
Время: 0.022 c
7-34266
Юрий К
2002-09-06 10:12
2002.11.11
Совместимость мдем PCI и COM мышь


14-34254
V-A-V
2002-10-24 06:46
2002.11.11
TreeView только DB


3-33882
NeyroSpace
2002-10-22 16:14
2002.11.11
HELP! Никак не вставить в BLOB поле!


4-34309
fishca
2002-10-02 20:09
2002.11.11
Программирование COM приложений на Delphi


1-34015
dimonf
2002-11-02 12:53
2002.11.11
Как редактировать файл ресурса с расширением *.res?