Такой вопрос, имеется к примеру два компонента TChart на форме и в течение выполнения программы на обоих строится график (абциссы одинаковые, а вот ординаты отличаются, т.к. используются разные коэффициенты)...Можно как-нить всё это синхронизировать, т.е. к примеру прокручиваю один график, автоматом прокручивается другой, и то же самое увеличиваю в масштабе один, увеличивается др...Прошу совета, т.к. очень надо...
Ну и что, даже мне совета никто не может дать????
Ты же не привел пример, КАК ты делаешь прокрутку графика, какие события используешь... Что ты хочешь, чтоб тебе сказали? Начали бы перечислять все случаи, которые возможны?
Напиши небольшой тестовый пример, который делает минимум: чертит 2 графика (любых), и делает то, что ты написал (прокручивает/увеличивает масштаб) с графиками по отдельности, и прикрепи проект сюда... Тогда посмотрим...
А просто так сотрясать воздух для того, чтобы ты потом сказал, что это событие у тебя по другому обрабатывается, и посему способ не подходит - желающих нет...
______.rar ( 5.16 килобайт )
Кол-во скачиваний: 441
Прикрепил проект...там всё реализовано только для одного графика, т.к. проблема теперь в другом...
Все методы прокрутки, увеличения автоматически реализуются с помощью мыши, в этом есть большой плюс,т.к. мышь прокручивает изображение, а не переходит к следующей странице(как при кнопочной реализации)...Поэтому самый основной косяк в том, что после увеличения графика методом ZoomPercent, метод NextPage не работает, а мне нужно пролистать график не используя мыши(((В этом и проблема...
Если я правильно понял что ты хочешь сделать (сохранять текущий зум после смены страницы), то можно примерно так: Сохранять текущий зум а потом его восстанавливать
implementation
var
zoom : Integer;
// ...
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
i: integer;
begin
if key = 27 then begin
Chart1.ZoomPercent(110);
inc(zoom);
end;
if key = 13 then begin
Chart1.ZoomPercent(90);
dec(zoom);
end;
if key = 39 then begin
Chart1.UndoZoom;
Chart1.NextPage;
if zoom >= 0 then
for i := 1 to zoom do
Chart1.ZoomPercent(110)
else
for i := 1 downto zoom
do Chart1.ZoomPercent(90);
end;
if key = 37 then begin
Chart1.UndoZoom;
Chart1.PreviousPage;
if zoom >= 0 then
for i := 1 to zoom
do Chart1.ZoomPercent(110)
else
for i := 1 downto zoom
do Chart1.ZoomPercent(90);
end;
end;
Спасибо, идея понята...
Такой ещё вопрос, как можно реализовать передвижение графика вверх и вниз также с помощью кнопок...к примеру для мышки если задать свойство AllowPanning:=pmVertical, то ей можно будет двигать график по вертикали...Метода типа NextPage я так и не нашёл...