2012-03-30 4 views
0

Я оцениваю Teechart 4.1.2012.2287, и у меня есть проблема с инструментом прямоугольника. Мой проект написан на VS2010, используя VB.Net и framework 4.0.Tchart Rectangle Tool

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

Является ли это ошибкой или я делаю что-то неправильно?

ответ

0

Я смог воспроизвести проблему, используя нижеприведенный фрагмент кода, и добавил его (TF02016130) в список дефектов для изучения.

tChart1.Aspect.View3D = false; 
    tChart1.Dock = DockStyle.Fill; 

    tChart1.Series.Add(new Steema.TeeChart.Styles.Points()).FillSampleValues(); 

    Steema.TeeChart.Tools.RectangleTool rectangle1 = new Steema.TeeChart.Tools.RectangleTool(tChart1.Chart); 

    rectangle1.Text = "My rectangle tool"; 
    rectangle1.AutoSize = true; 
    rectangle1.PositionUnits = Steema.TeeChart.PositionUnits.Percent; 
    rectangle1.Shape.CustomPosition = true; 
    rectangle1.Shape.Left = 50; 
    rectangle1.Shape.Top = 50; 
    rectangle1.AllowDrag = true; 
    rectangle1.AllowResize = true; 
    rectangle1.AllowEdit = true; 

В то же время, обходной путь использует событий и пиксельный позиционирование AfterDraw, как показано здесь:

public Form1() 
{ 
    InitializeComponent(); 
    InitializeChart(); 
} 

private Steema.TeeChart.Tools.RectangleTool rectangle1; 

private void InitializeChart() 
{ 
    tChart1.Aspect.View3D = false; 
    tChart1.Dock = DockStyle.Fill; 

    tChart1.Series.Add(new Steema.TeeChart.Styles.Points()).FillSampleValues(); 

    rectangle1 = new Steema.TeeChart.Tools.RectangleTool(tChart1.Chart); 

    tChart1.AfterDraw += new Steema.TeeChart.PaintChartEventHandler(tChart1_AfterDraw); 

    rectangle1.Text = "My rectangle tool"; 
    rectangle1.AutoSize = true; 
    rectangle1.PositionUnits = Steema.TeeChart.PositionUnits.Pixels; 
    rectangle1.AllowDrag = true; 
    rectangle1.AllowResize = true; 
    rectangle1.AllowEdit = true; 

    tChart1.Draw(); 
} 

void tChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g) 
{ 
    rectangle1.Shape.CustomPosition = true; 
    rectangle1.Shape.Left = tChart1.Width/2; 
    rectangle1.Shape.Top = tChart1.Height/2; 
} 
+1

Исследуя его немного дальше, я нашел это на самом деле 2 различных вопросов, так Я разделил его на две части (TF02016131 и TF02016132). TF02016131 заключается в том, что функция clicked не учитывает, когда PositionUnits = Percent. Я только что исправил его, поэтому в следующей версии обслуживания должен отображаться стиль перетаскивания/изменения размера мыши в правильном положении. И TF02016132 относится к внутренним преобразованиям между процентами и пикселями, чтобы заставить drag & resize работать. Я частично исправил это. – Yeray

+0

Когда следующий релиз обслуживания должен быть выпущен? – Ross

+0

@Ross Дата еще не установлена. Мы стараемся иметь версию каждые два месяца примерно. Учитывая, что текущая версия была опубликована месяц назад, мы хотели бы, чтобы следующая версия обслуживания была готова примерно через месяц. Пожалуйста, следите за обновлениями каналов связи Steema Software. –