Форум: "Компоненты";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];
ВнизКак запретить обработку сообщения, если объект уже Destroy ? Найти похожие ветки
← →
greyserg (2005-05-12 21:02) [0]есть компонент , отображающий html документы
есть обработчик нажатия scroll кнопки и дальнейшего перемещения курсора (делаю SendMessage своего сообщения WMMouseScroll в mousеmove, если нажата средняя кнопка)
дело в том что, в процедуре обработки сообщения WMMouseScroll цикл
который проверяет состояние нажатия scroll кнопки и не нажаты ли другие кнопки (клавиши)
а также в цикле есть Application.ProcessMessages; - для того чтобы отображался скроллируемый текст
делаю Free объекту , а процедура обработки сообщения WMMouseScroll все еще пытается обработать сообщение и вываливается Access Violation
можно ли как-нибудь в destroy запретить обработку сообщения WMMouseScroll ?
← →
VMcL © (2005-05-12 21:22) [1]>>greyserg (12.05.05 21:02)
>а также в цикле есть Application.ProcessMessages
Это неправильно.
← →
greyserg (2005-05-13 10:40) [2]>VMcL
а как правильно ? Application.ProcessMessages нужно, чтобы моя обработка сообщения WMMouseScroll не занимало всё процессорное время,а обрабатывались другие сообщения , WM_PAINT и т.д.
Кто-нибудь делал авто скроллинг при нажатом колесике ?
Мастера, помогите.
← →
Семен Сорокин © (2005-05-13 10:48) [3]попробуй для отрисовки Update (или Invalidate) вместо Application.ProcessMessages.
Еще как вариант использовать PostMessage(handle, CM_RELEASE, ...) вместо Free
← →
Style © (2005-05-13 10:59) [4]>>дело в том что, в процедуре обработки сообщения >>WMMouseScroll цикл
>>который проверяет состояние нажатия scroll кнопки и не нажаты >>ли другие кнопки (клавиши)
Может стоит вынести проверку в отдельный поток?
и из WMMouseScroll делать PostMessage твоему потоку.
На Destroy придется дождаться его завершения или вырубить его.
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c