|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.11.2013, 15:30 | #1 |
Пользователь
Регистрация: 19.02.2008
Сообщений: 24
|
График по клику на легенде.
Здравствуйте, уважаемые мастера.
Delphi 5. Chart. Имеется n Series c кучей точек с маркировкой цифр. Чтобы посмотреть один график тыкаю мышью по соотвествующей маркировке на легенде - показывается один график, тыкаю еще раз - всё восстанавливается: Код:
Если точка одна, то выдается ошибка Access violation по адресу... Где нужно подшаманить чтобы гафик показывался и с одной точкой? Благодарю за внимание. ___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Stilet; 06.11.2013 в 15:59. |
06.11.2013, 16:04 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А известно на какой строке вылезает AV?
Я в коде криминала не вижу...
I'm learning to live...
|
06.11.2013, 17:35 | #3 |
Пользователь
Регистрация: 19.02.2008
Сообщений: 24
|
После присвоения параметров перерисовки легенды:
RectLegend:=Rect в процедуре Chart1GetLegendRect |
06.11.2013, 19:48 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А-а-а... Так то совсем другое дело
Покаж код. Там нужно проверочки на nil ставить знаичт.
I'm learning to live...
|
06.11.2013, 22:06 | #5 |
Пользователь
Регистрация: 19.02.2008
Сообщений: 24
|
Да нет больше кода, связанного с легендой. Есть вначале код заполнения графиков точками и всё. Если бы где-то, что-то неправильно заполнялось - ошибка была уже на уровне отрисовки графиков. Как раз и вопрос то в том, где еще прописать какую процедуру при отрисовке, чтобы вставить эту проверку на nil?
|
06.11.2013, 22:22 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну ты всетки покажешь свою легендарную Chart1GetLegendRect, или каг?
I'm learning to live...
|
06.11.2013, 22:36 | #7 |
Пользователь
Регистрация: 19.02.2008
Сообщений: 24
|
Chart1GetLegendRect процедура по событию OnGetLegendRect (см. в коде) предназначена для (перевод из Help):
__________ Случай OnGetLegendRect происходит всякий раз, когда Легенда Диаграммы собирается отображен. Вы можете использовать этот случай, чтобы заставлять специфическую позицию Легенды и измерений. Параметр Rect определяет встроенную позицию Легенды и измерений на экранных пикселях. После чертежа Легенды, доступное пространство Диаграммы будет уменьшено, чтобы не перекрываться с Легендой если Вы не установили TChartLegend.СОБСТВЕННОСТЬ ResizeChart в Ложь. При использовании этого случая вам понадобится использовать TChart.СЛУЧАЙ OnGetLegendPos также, чтобы поставлять точные координаты для каждого пункта Легенды. ___________ Легенда перерисовывается автоматически по координатам Rect. ResizeChart:=True; |
06.11.2013, 22:56 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
О-о-ой! туплю... Она же в топе темы... Сорри, сегодня не мой день.
Если этот обработчик события убрать, программа отработает норм?
I'm learning to live...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Затабулировать функцию. график указанной функции и график касательной к ней в точке с абсциссой | AntonKalinin01 | Помощь студентам | 0 | 26.05.2013 07:18 |
Редирект по клику | zaki | HTML и CSS | 8 | 26.01.2013 04:48 |
Редирект по клику | Nekto_33 | JavaScript, Ajax | 7 | 01.08.2012 09:43 |
программно определённой легенде DBCart(Pie) задать значение | Simatik | Компоненты Delphi | 0 | 25.03.2012 20:04 |
Расстояние между строками в легенде | Drakmour | Microsoft Office Excel | 4 | 19.03.2012 00:24 |