Главная страница
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.012 c
1-34101
Sergy
2002-10-31 15:22
2002.11.11
Динамический массив. Найти индекс по значению


1-34089
DVM
2002-10-31 09:06
2002.11.11
Глюк: самопроизвольно исчезают элементы управления


3-33881
Дмитрий_авл
2002-10-18 13:37
2002.11.11
Помогите свзяать 2 таблицы MS SQL


1-34086
Igorek
2002-10-24 13:45
2002.11.11
Стиль: Вызов виртуальных методов из деструкторов


8-34125
Sniffer
2002-07-17 10:56
2002.11.11
И ещё раз про OpenGL