Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Проблема с отрисовкой кнопки по событию


Рекомендуемые сообщения

Меня поймут те пользователи которые сами отрисовывали свою форму.

Появляются глюки: делаю так, чтобы кнопки выделялись при наведение на неё. но если зажать мышку и переместить курсор то кнопка не возращается в исходное положение.

Procedure OnMousemove;

begin

image1.visible:=false;

image2.visible:=true;

end;

далее делаю на форму:

Procedure OnMousemove;

begin

image1.visible:=true;

image2.visible:=false;

end;

Заранее СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!! :cool::bye1::g:

Ссылка на комментарий
Поделиться на другие сайты

Насколько я понял, кнопку отрисовываешь сам...

что можно посоветовать....

Поищи способ через обработку WM_MOUSEHOVER и TrackMouseEvent

там можно что-то сделать.... Конкретным примером, извини, не помогу, поскольку никогда не нужно было ничего похожего, но судя по МСДН, это может помочь.... Это функции Win32 API, но наверняка, в VCL есть что-то на такой случай.

А то, что кнопка не "отпускается" при вытяжке мыши после нажатия на кнопке - не глюк, это оно везде так работает.

Сообщение WM_MOUSEMOVE (это его обработчик - OnMouseMove), окно получает только тогда, когда курсор мыши в пределах окна.

Ссылка на комментарий
Поделиться на другие сайты

Винда не умеет делать два действия одновременно, тоесть обрабатывать два сообщения WM_MOUSEMOVE и OnClick, она выполняет только последнее, а предыдущее уже не будет выполнено, тоесть оно переписывается OnClick'ом, а не записывается в поток, как мы все ожидаем, поэтому эту проблему надо устранять исскуственным созданием потока, что не просто и зачем это делать! Так что довольствуйтесь тем, что есть! :bleh:

Ссылка на комментарий
Поделиться на другие сайты

Винда не умеет делать два действия одновременно, тоесть обрабатывать два сообщения WM_MOUSEMOVE и OnClick, она выполняет только последнее, а предыдущее уже не будет выполнено, тоесть оно переписывается OnClick'ом, а не записывается в поток, как мы все ожидаем, поэтому эту проблему надо устранять исскуственным созданием потока, что не просто и зачем это делать! Так что довольствуйтесь тем, что есть! :bleh:

О чем ты говоришь? При чем здесь два действия одновременно? Прекрасно обрабатывается и onMouseMove и onClick.

Проблема в том, что если делать свою кнопку, и на onMouseDown показывать картинку нажатой кнопки, а на onMouseUp возвращать картинку отжатой кнопки, то возникает нескладуха: если нажать кнопку мыши, отвести ее с кнопки и там отжать, то кнопка на форме не "отожмется" т.к. MouseUp получает уже не твоя кнопка, а тот контрол, над которым в этот момент курсор.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...