Главная страница
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.019 c
1-34088
Yasha
2002-10-31 11:54
2002.11.11
графика


4-34298
Vasechkin
2002-10-01 07:41
2002.11.11
Таймер на WinApi, вместо стандартоного Timer1


1-33924
AndreyAG
2002-10-30 14:04
2002.11.11
TTreeView


1-33985
MMF
2002-11-01 16:37
2002.11.11
Почему может не формироваться список окон в MDI


1-34094
KMZ
2002-10-31 13:56
2002.11.11
Привет всем, подскажите пожалуйста