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
[7026] Re:델파이 함수를 C함수로 바꾸고 싶은데 좀 알려주세요?
박지훈.임프 [cbuilder] 2184 읽음    2001-04-26 16:52
임펠리테리입니다.

일단 문자 그대로 빌더 소스로 바꾸었습니다.

void __fastcall DrawControl(TControl *AControl, TTreeNodeShape AShape)
{
  TPoint P;
  AControl->Visible = AShape->Visible;
  if(AControl->Visible)
  {
    P = Tree->Canvas->Calculate3DPosition(AShape.X0, AShape.Y0, 0);
    AControl->Left = P.x;
    AControl->Top  = P.y;
  }
}

그대로 안될 수도 있습니다.
TTreeNodeShape라는 타입이 있는데, 표준 타입이 아니라서 이게 포인터가 되어야 할지 아닐지를 알수가 없군요.
여기서 TTreeNodeShape를 일반 클래스로 간주하고 * 를 쓰지 않았는데, 만약 일반 클래스가 아니라 TPersistant 를 상속받는 객체라면 포인터로 처리해야 하구요.

그럼 이만..


이대현 님이 쓰신 글 :
: 아래의 델파이 함수를 C함수로 바꾸는 방법좀?
:
: Procedure DrawControl(AControl:TControl; AShape:TTreeNodeShape);
: var P:TPoint;
: begin
:   AControl.Visible:=AShape.Visible;
:   if AControl.Visible then
:   begin
:     With AShape do P:=Tree.Canvas.Calculate3DPosition(X0,Y0,0);
:     AControl.Left:=P.x;
:     AControl.Top:=P.y;
:   end;
: end;

+ -

관련 글 리스트
7003 델파이 함수를 C함수로 바꾸고 싶은데 좀 알려주세요? 이대현 1983 2001/04/25
7026     Re:델파이 함수를 C함수로 바꾸고 싶은데 좀 알려주세요? 박지훈.임프 2184 2001/04/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.