C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[75455] Re:티차트에 스크롤을 넣고 싶습니다.
정성훈.해미 [sage5nor] 2872 읽음    2019-06-21 15:10
TChart의 각 축에는
Minimum, Maximum이 있습니다.

이게 실제 차트에 보이는 축의 시작, 끝 값입니다.

스크롤시 차트랑 이동하는게 싱크가 안 맞는다는 걸보면
아마도 차트에 있는 Scroll함수를 쓰신것 같네요.

Scroll함수를 쓰지 마시고
직접 Minimum, Maximum 값을 바꾸는 방법을 사용하면
스크롤 콤포넌트를 움직일 때 똑같이 차트가 움직입니다.

단,
AutomaticMinimum와 AutomaticMaximum는 false로 해주세요.

예)
스크롤바 이벤트에 아래와 같이 해주면 차트가 같이 움직입니다.

void __fastcall TForm2::ScrollBar1Change(TObject *Sender)
{
    Chart1->Axes->Bottom->AutomaticMinimum = false;
    Chart1->Axes->Bottom->AutomaticMaximum = false;

    double  FullRange = 1000.;  // 차트의 전체 데이터 구간
    double  ViewRange = 100.;      // 차트의 보여질 구간

    double  ChartStartValue = Range * double(ScrollBar1->Position) / double(ScrollBar1->Max - ScrollBar1->Min);

    if(ChartStartValue > Chart1->Axes->Bottom->Maximum)    {
        Chart1->Axes->Bottom->Maximum = ChartStartValue + ViewRange;
        Chart1->Axes->Bottom->Minimum = ChartStartValue;
    }
    else    {
        Chart1->Axes->Bottom->Minimum = ChartStartValue;
        Chart1->Axes->Bottom->Maximum = ChartStartValue + ViewRange;
    }
}

*잡담: 티차트에 오타가 있습니다.
제가 쓰는 버전에만 그런건지 모르겠으나....

Axis라고 써야 되는데 일부 변수와 함수명에
Axes라고 되어 있습니다.

아마도....티차트 소스 개발자가 미국사람이 아닌듯합니다....


Teechart Scroll 님이 쓰신 글 :
: 말 그대로 티차트아래에 스크롤을 하나 넣고 그 스크롤의 position에 따라서 좌우로 그래프가 움직이게 하고 싶은데,
: 그냥 Standard에 있는 TScroll로 하니, 티차트 내부의 기능이아닌지라 스크롤을 움직이는 속도에 따라서 차트의 위치와
: 일치하지 않는 문제나, 차트의 시작위치와 스크롤의 시작위치를 어떻게 일치시켜야 할지 잘 모르겠더라구요.
:
: 티차트에 스크롤을 넣고 그래프를 움직이게 할 때 어떤식으로 하면 깔끔하게 스크롤의 0~100의 포지션과 차트의 위치를 같이 움직이게 할 수 있는지 여쭤보고 싶습니다.

+ -

관련 글 리스트
75434 티차트에 스크롤을 넣고 싶습니다. Teechart Scroll 2509 2019/05/29
75455     Re:티차트에 스크롤을 넣고 싶습니다. 정성훈.해미 2872 2019/06/21
75456         Re:Re: 오타가 아니고 복수형 ㅎㅎㅎ 2448 2019/06/22
75458             Re:Re:Re: 오타가 아니고 복수형 ㅎㅎㅎ 정성훈.해미 2537 2019/06/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.