Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];
ВнизКак убить событие 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c