![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;