В Delphi я добавил компонент прокрутки (ориентированный по вертикали) в правую часть формы.Как обнаружить, что мышь не движется и кнопка все еще нажата?
Я добавил событие OnChange для прокрутки, чтобы изменить вид формы и положение пальца полосы прокрутки, когда пользователь нажимает на кнопку UpArrow или DownArrow с помощью мыши, и это отлично работает.
Но событие OnChange, похоже, срабатывает только при нажатии кнопки мыши на стрелке.
Я заметил, что все элементы управления полосой прокрутки повторяют команду и продолжают прокрутку, пока мышь остается нажатой на стрелке, и я хотел бы реализовать это поведение.
Итак, как я могу легко обнаружить, если пользователь не переместил мышь и продолжает нажимать кнопку мыши, пока мышь остается над стрелкой?
Заключение. Как-то что-то в полосе прокрутки моего проекта получилось поврежденным. После того, как я удалил ScrollBar и добавил его снова, проблема исчезла.
Это один из тех сложных вопросов, которые потребовали у меня много времени для решения. Спасибо за вашу помощь. Я закрываю этот вопрос.
№ OnScroll делает то же самое как OnChange, чтобы обнаружить начальный клик. Но ни один из них не сигнализирует о продолжении этого события. Они обрабатывают только начальную кнопку один раз. Мне нужно увидеть, остается ли мышь нажатой, чтобы я мог продолжить прокрутку. – lkessler
Он работает на моей установке Delphi 6 - я только что протестировал ее. – 2009-03-28 16:37:56
Спасибо, что проверил это, Нейл. Ваш тест также работает в Delphi 2009. Я думаю, что это привело меня к причине проблемы. Компонент (TElScrollBar), который я использую, не работает, как TScrollBar, поэтому это проблема с этим компонентом. Об этом я свяжусь с LMD. – lkessler