Alexey Varfolomeev Опубликовано 1 февраля, 2006 Жалоба Поделиться Опубликовано 1 февраля, 2006 Меня поймут те пользователи которые сами отрисовывали свою форму. Появляются глюки: делаю так, чтобы кнопки выделялись при наведение на неё. но если зажать мышку и переместить курсор то кнопка не возращается в исходное положение. Procedure OnMousemove; begin image1.visible:=false; image2.visible:=true; end; далее делаю на форму: Procedure OnMousemove; begin image1.visible:=true; image2.visible:=false; end; Заранее СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Andrew.Egorovsky Опубликовано 2 февраля, 2006 Жалоба Поделиться Опубликовано 2 февраля, 2006 Насколько я понял, кнопку отрисовываешь сам... что можно посоветовать.... Поищи способ через обработку WM_MOUSEHOVER и TrackMouseEvent там можно что-то сделать.... Конкретным примером, извини, не помогу, поскольку никогда не нужно было ничего похожего, но судя по МСДН, это может помочь.... Это функции Win32 API, но наверняка, в VCL есть что-то на такой случай. А то, что кнопка не "отпускается" при вытяжке мыши после нажатия на кнопке - не глюк, это оно везде так работает. Сообщение WM_MOUSEMOVE (это его обработчик - OnMouseMove), окно получает только тогда, когда курсор мыши в пределах окна. Ссылка на комментарий Поделиться на другие сайты Поделиться
LomaK.XP Опубликовано 9 февраля, 2006 Жалоба Поделиться Опубликовано 9 февраля, 2006 Винда не умеет делать два действия одновременно, тоесть обрабатывать два сообщения WM_MOUSEMOVE и OnClick, она выполняет только последнее, а предыдущее уже не будет выполнено, тоесть оно переписывается OnClick'ом, а не записывается в поток, как мы все ожидаем, поэтому эту проблему надо устранять исскуственным созданием потока, что не просто и зачем это делать! Так что довольствуйтесь тем, что есть! Ссылка на комментарий Поделиться на другие сайты Поделиться
Shurr Опубликовано 10 февраля, 2006 Жалоба Поделиться Опубликовано 10 февраля, 2006 Винда не умеет делать два действия одновременно, тоесть обрабатывать два сообщения WM_MOUSEMOVE и OnClick, она выполняет только последнее, а предыдущее уже не будет выполнено, тоесть оно переписывается OnClick'ом, а не записывается в поток, как мы все ожидаем, поэтому эту проблему надо устранять исскуственным созданием потока, что не просто и зачем это делать! Так что довольствуйтесь тем, что есть! О чем ты говоришь? При чем здесь два действия одновременно? Прекрасно обрабатывается и onMouseMove и onClick. Проблема в том, что если делать свою кнопку, и на onMouseDown показывать картинку нажатой кнопки, а на onMouseUp возвращать картинку отжатой кнопки, то возникает нескладуха: если нажать кнопку мыши, отвести ее с кнопки и там отжать, то кнопка на форме не "отожмется" т.к. MouseUp получает уже не твоя кнопка, а тот контрол, над которым в этот момент курсор. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти