Главная страница
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.029 c
1-34111
kserg@ukr.net
2002-10-31 17:47
2002.11.11
ошибка BORDBK50.dll is missing or not registred


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


7-34277
daos
2002-09-11 05:54
2002.11.11
Кака освободить память?


3-33875
Dr. Well
2002-10-21 18:04
2002.11.11
Тип $Money


3-33880
ScareCrow
2002-10-22 15:47
2002.11.11
Смена Table Langauge для табл.формата Paradox