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

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

TChart... [D7]


istok ©   (2010-07-01 10:58:00) 

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

обрабатываю Chart1ClickSeries, испольщую GetCursorValues - но как по x,y понять, какой это кусочек гистограммы или пирога...?

цель - реализовать дрилдаун....


12   (2010-07-02 15:50:00) [1]

procedure TForm1.Chart1ClickSeries(Sender: TCustomChart;
 Series: TChartSeries; ValueIndex: Integer; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 Series.ValueColor[ValueIndex]:=clRed;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Chart1.Series[0].AddArray([1,2,3,4,5,6,7,8,9,10])
end;

procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
var
 Pt: TPoint;
begin
 Application.ProcessMessages;
 Pt.x := Chart1.Left + (Chart1.Width div 2);
 Pt.y := Chart1.Top + (Chart1.Height div 2);
 Pt := ClientToScreen(Pt);
 Pt.x := Round(Pt.x * (65535 / Screen.Width));
 Pt.y := Round(Pt.y * (65535 / Screen.Height));
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0);
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0);
end;


istok   (2010-07-02 15:28:00) [2]

спасибо большое

а есть ли примеры кода как перекрашивать кусочек серии при наведении мышью?


12   (2010-07-01 17:50:00) [3]

procedure TForm1.Chart1ClickSeries(Sender: TCustomChart;
 Series: TChartSeries; ValueIndex: Integer; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
  ShowMessage(Series.ValueMarkText[ValueIndex]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Chart1.Series[0].AddArray([1,2,3,4,5,6,7,8,9,10])
end;


Наверх

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