Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с TChart [D5, Win2k]


olookin ©   (2002-04-27 17:49:00) 

Здравствуйте, уважаемые.

У компонента TChart есть свойство AllowPanning. Оно позволяет перемещать мышкой внутреннюю область TChart. Мой вопрос состоит в следующем:
у меня есть Chart, свойство AllowPanning которого всегда равно pmBoth (т.е. включено). При двойном клике на него, этот Chart распахивается. Понятно, что первое нажатие на Chart рассматривается как OnMouseDown, а второе - как OnMouseUp. Но так как при распахивании меняются координаты мыши, то помимо собственно распахивания, срабатывает и Panning (т.е. смещение области Chart). В результате, после распахивания все серии на Chart сдвинуты. Очень плохо. Как решить задачу наименее затратным способом? Заранее благодарен.


KilkennyCat   (2002-04-28 05:00:00) [1]

я не работал с чартом, но думаю, проблема вот в чем:

>Понятно, что первое нажатие на Chart рассматривается как OnMouseDown, а второе - как OnMouseUp.

Это неверно. Событие OnMouseDown возникает при нажатии кнопки мыши, а OnMouseUp - при отпускании.
Соответсвенно, при двойном клике идет последовательность:
OnMouseDown
OnMouseUp
OnMouseDown
OnMouseUp
то есть, четыре раза можно поймать координаты. Ловите в этих событиях нужные, остальные игнорируйте, после чего обрабатывайте двойной клик.


Наверх

Титульная страница Поиск, карта сайта Написать письмо