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
[74833] Re:델파이코드를 _>> 빌더로 도와주세요
지나다가 [] 2994 읽음    2018-03-25 17:44
빌더입문 님이 쓰신 글 :
: chtMain  : TChart;
: FValAnno : TAnnotationTool;
: ...
: TfrmMain.chtMainMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer)
: var
:   HasData : Boolean;
:   AnnoLst : TStrings;
: begin
:   ... 
:   if HasData then
:     Self.FValAnno.Text := AnnoLst.Text
:   else
:     Self.FValAnno.Text := 'No data';
:   //
:   if (X < Self.chtMain.Width - Self.FValAnno.Width - 5) then
:     Self.FValAnno.Shape.Left := X + 10
:   else
:     Self.FValAnno.Shape.Left := X - Self.FValAnno.Width - 15;
:   //
:   if (Y < Self.chtMain.Height - Self.FValAnno.Height - 5) then
:     Self.FValAnno.Shape.Top := Y + 10
:   else
:     Self.FValAnno.Shape.Top := Y - Self.FValAnno.Height - 15;
:   //
:   if (FX >= Self.chtMain.BottomAxis.IStartPos) and
:     (FX <= Self.chtMain.BottomAxis.IEndPos) and
:     (FY >= Self.chtMain.LeftAxis.IStartPos) and
:     (FY <= Self.chtMain.LeftAxis.IEndPos) then
:     Self.FValAnno.Active := True
:   else
:     Self.FValAnno.Active := False;
:   ...
: end;

대강 아래와 같은 의미라고 보여집니다.

TChart chtMain;
TAnnotationTool FValAnno;

TfrmMain::chtMainMouseMove(TObject Sender, TShiftState Shift, int X, int Y)
{
  bool HasData;
  TStrings AnnoLst;

  ... 
  if (HasData )
    FValAnno.Text = AnnoLst.Text
  else
    FValAnno.Text = "No data";
  //
  if (X < chtMain.Width - FValAnno.Width - 5)
    FValAnno.Shape.Left = X + 10
  else
    FValAnno.Shape.Left = X - FValAnno.Width - 15;
  //
  if (Y < chtMain.Height - FValAnno.Height - 5)
    FValAnno.Shape.Top = Y + 10
  else
    FValAnno.Shape.Top = Y - FValAnno.Height - 15;
  //
  if ( (FX >= chtMain.BottomAxis.IStartPos) &&
    (FX <= chtMain.BottomAxis.IEndPos) &&
    (FY >= chtMain.LeftAxis.IStartPos) &&
    (FY <= chtMain.LeftAxis.IEndPos) )
      FValAnno.Active = true;
  else
      FValAnno.Active = false;
  ...
}

+ -

관련 글 리스트
74823 델파이코드를 _>> 빌더로 도와주세요 빌더입문 2985 2018/03/22
74833     Re:델파이코드를 _>> 빌더로 도와주세요 지나다가 2994 2018/03/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.