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
[15760] Re:[만해] VirtualTreeString 컴포넌트에 자료 입력법좀 알려 주세요
김재철 [kjc3809] 1185 읽음    2002-02-25 11:22
만해 님이 쓰신 글 :
: 안녕하세요 만해입니다.
:
: 어제 컴포넌트 자료실에 있는 VirtualTree 컴포넌트를 다운 받아서
:
: 천신만고 끝에 깔아서
:
: 지금 사용하고 있는데요
:
: 그냥 단순히 자료 넣는건 알겠는데
:
: 제가 원하는 형식으로 자료를 넣을려니깐
:
: 잘 안되네요
:
: 지금 도움말도 뒤지고 했는데도 잘 모르곘고
:
: 도움 부탁 드립니다.
:
: typedef struct
: {
:   AnsiString Data;
:   LONG ID;
:   LONG Depth;
: }TTreeData;
:
: 이건 헤더 파일에 정의된 데이타 형이고요
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: TTreeData* Data = new TTreeData;
: Data->Data = "Test";
: Data->ID = 1;
: Data->Depth = 1;
: VirtualStringTree2->NodeDataSize = sizeof(Data);
: VirtualStringTree2->AddChild(NULL,(void*)Data);
: }
:
: 이건 자료를 입력 하는 루틴입니다.
:
: 분명히 도움말에 나온것 처럼 구조제를 만들어서 집어 넣는데도
:
: 제가 원하는 식으로는 안나오고
:
: 그냥 기본형만 나오네요
:
: 고수님들의 도움 부탁 드립니다.







답변이 될지 모르겠지만 제가 한 걸 보여 드리죠.

저는 먼저
typedef struct
        {
          AnsiString Text;
          int ImageIndex;
          int index;
        }TTreeData;
로 선언 했구요 (이 구조체를 원하는 형태로 선언한다)

void __fastcall TForm1::FormShow(void)
{
  TTreeData *T = new TTreeData;
  TVirtualNode *N = new TVirtualNode;
  Tree->NodeDataSize = sizeof(TTreeData);  //구조체의 크기를 전달하고
  N = Tree->AddChild(NULL,(TTreeData *)T);  //루트 노드에 하위 노드를 추가한다
  T=(TTreeData *)Tree->GetNodeData(N);      //추가한 노드의 정보를 얻어서
  T->Text = "test입니다";                   //내용을 넣는다.
}

에서 T->Text에 데이터를 넣었습니다.

그리고
void __fastcall TForm1::TreeGetText(TBaseVirtualTree *Sender,
      PVirtualNode Node, int Column, TVSTTextType TextType,
      WideString &CellText)
{
  TTreeData *T = new TTreeData;
  T=(TTreeData *)Sender->GetNodeData(Node);
  CellText = T->Text;  //추가할 내용이 선택된 노드에 적용된다.
}
이렇게 했습니다.

만약 루프를 돌릴때 TreeGetText가 바로 호출되지 않더군요
루프 다 돌고 나서 한꺼번에 TreeGetText가 반복적으로 돌아가더군요....

추가적으로 Header부분을 조정하면 column에 따라 내용을 넣을 수 있습니다.
도움이 되었으면 합니다.

김재철....

+ -

관련 글 리스트
14764 [만해] VirtualTreeString 컴포넌트에 자료 입력법좀 알려 주세요 만해 1106 2002/01/21
15760     Re:[만해] VirtualTreeString 컴포넌트에 자료 입력법좀 알려 주세요 김재철 1185 2002/02/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.