2015-03-16 3 views
0

Мы хотим создать вертикальную линию с пунктирным стилем. Мы использовали код ниже, чтобы нарисовать линию. Строка не отображается на диаграмме, пока мы не обновим диалоговое окно вручную. Мы включили логику ниже в событие OnAfterDrawTchart. Пожалуйста, предоставьте свой ввод. Исходный код:Строка, созданная с использованием tcDrawLine, не отображается правильно

long lDrawLineTool = m_reschedChart.GetTools().Add(tcDrawLine); 
CDrawLineTool cDrawLineTool = Chart.GetTools().GetItems(lDrawLineTool).GetAsDrawLine(); 
cDrawLineTool.AddLine(5, 0, 5, 10); 
cDrawLineTool.GetPen().SetStyle(psDash); 

Спасибо.

ответ

1

После инициализации диаграммы вам, вероятно, придется вызвать метод InternalRepaint. Например:

m_reschedChart.GetEnvironment().InternalRepaint(); 

, так что происходит событие OnAfterDraw.

+0

Мы уже вызываем метод InternalRepaint после инициализации диаграммы. проблема в первый раз, когда мы открываем график, вертикальная линия отображается на диаграмме. после этого, когда мы перемещаем или максимизируем или сводим к минимуму наш диалог, вертикальная линия останавливается на графике. снова, если мы выполняем выше операцию (перемещение, максимизация, минимизация), она начинает отображаться на диаграмме. каждый альтернативный ход начинает отображаться. – Prabhat

+0

@Prabhat как добавить добавление InternalRepaint в событие OnResize или любое другое событие, которое может быть задействовано? –

+0

Как мы можем вычислить ниже упоминание координат в диаграмме с использованием teechart API? yscale = длина оси y/(ось yaxis max - y min) yOffset = y origin - y axis min * yscale. – Prabhat

Смежные вопросы