CYFROWY BARON • PROGRAMOWANIE • Zobacz wÄ…tek - TChart problem z Zoom

TChart problem z Zoom

dział ogólny

TChart problem z Zoom

Nowy postprzez sebaskow » sobota, 18 czerwca 2011, 15:21

Witam.

Wiecie może jak programowo włączyć funkcję Zoom w TChart? i ustawić jej wartośći np;

Kod: Zaznacz cały
Chart1->BottomAxis->Minimum = 30;
Chart1->BottomAxis->Maximum = 60;


Pozdrawiam
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
PodziÄ™kowaÅ‚ : 10
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows XPChrome

Re: TChart problem z Zoom

Nowy postprzez Cyfrowy Baron » niedziela, 19 czerwca 2011, 09:10

Zoom kontrolki TChart możesz przeprowadzić tylko na dwa sposoby.

Sposób pierwszy - procentowy. Podajesz wartość zoom-u w procentach, np. powiększenie o 50 procent: 100 + 50

KOD cpp:   •  UKRYJ  •
 Chart1->ZoomPercent(150);


Drugi sposób - podanie rozmiaru obszaru do powiększenia. Określasz po prostu prostokątny obszar, który ma zostać powiększony:

KOD cpp:   •  UKRYJ  •
 TRect cRect = Rect(20, 10, Chart1->Width - 100, Chart1->Height - 50);
 Chart1->ZoomRect(cRect);


Drugi sposób działa tak samo jak zakreślenie myszką obszaru na TChart.

Zoom-owi podlega cały TChart, a nie wybrane osie. Jeżeli jednak chcesz ograniczyć zoom tylko do pionu lub poziomu, to możesz zmienić sposób wykonywania zoom-u, np:

KOD cpp:   •  UKRYJ  •
 Chart1->Zoom->Direction = tzdHorizontal; // tzdVertical
 Chart1->ZoomPercent(120);


Możesz też włączyć animację zoom-u, ale to zależy od posiadanej przez Ciebie wersji kontrolki. Ja testy przeprowadzam na TeeChart Standard v8.05.50522 Win32.

KOD cpp:   •  UKRYJ  •
 Chart1->Zoom->Direction = tzdBoth;
 Chart1->Zoom->Animated = true;
 Chart1->ZoomPercent(120);


Jakkolwiek potrzebujesz zrobić ten zoom - jakkolwiek, gdyż nie rozumiem o co chodzi z tym minimum i maximum - to musisz użyć funkcji ZoomRect i opracować jakiś algorytm, który odpowiednio przeliczy pozycję i obszar.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: TChart problem z Zoom

Nowy postprzez sebaskow » niedziela, 19 czerwca 2011, 15:37

Wartość "Chart1->ZoomPercent" odnosi się do bieżącego widoku.

A ja chcę powrócić do widoku pierwotnego podczas kliknięcia jednego przycisku np. "Pokaż cały wykres"
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
PodziÄ™kowaÅ‚ : 10
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows XPChrome

Re: TChart problem z Zoom

Nowy postprzez Cyfrowy Baron » niedziela, 19 czerwca 2011, 19:24

sebaskow napisał(a):A ja chcę powrócić do widoku pierwotnego podczas kliknięcia jednego przycisku np. "Pokaż cały wykres"


Pokaż mi, gdzie w swoim pierwszym poście napisałeś, że chcesz wrócić do widoku bez zoom-u?!
By to zrobić wystarczy użyć funkcji UndoZoom:

KOD cpp:   •  UKRYJ  •
 Chart1->UndoZoom();
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości