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
[40139] Re:Re:Re:[질문]VirtualStringView에 대하여
볼레롱 [bolero] 1048 읽음    2005-05-12 15:26
새술을 새 부대에 담는다는 이야기가 있지요.

우선 이전에 사용하시던 다른 콤포넌트(TListView 등)의 사용법은  잊어버리구요.

TVitrualStringTree 는  메모리 관리를   이 넘이 직접 하는 방식입니다.

그래서,

1.  사용할 데이타의  구조 선언 ( 여기서 데이타는 각  셀(또는 노드)에 들어가 데이타 입니다.)
  typedef struct {
      TVirtualNode *Node;                    // Node Address.
      AnsiString NodeTitle;                  // Label for the node.
} TestRec, *ptrTestRec;

2. TVitrualStringTree 에  사용할 데이타의 크기를 알려 줍니다.
   OnGetNodeDataSize  이벤트에 메소스 추가

void __fastcall TFormMain::vstExplorerGetNodeDataSize(
      TBaseVirtualTree *Sender, int &NodeDataSize)
{
    NodeDataSize = sizeof(TestRec);
}

3.  ->AddChild 등의 메소드를  이용하면,  TVitrualStringTree  것이  2번에서 알려주 크기만큼 
    메모리 할당을 해서 알려 줍니다.
4. AddChild 가 알려준  할당된 메모리에  원하는 데이타의 값은 넣습니다.

   TVirtualNode* Node = Tree->AddChild(NULL);
   TestRec* Data = (TestRec*)Tree->GetNodeData(Node);

   Data->NodeTitle = " 값 넣어줌";

5.  각 원하는 메소드에서 데이타를 사용합니다.
   TestRec* Data = (TestRec*)Tree->GetNodeData(Node);
    Data->NodeTitle    <== 이런식으로 알아서 사용.

이것이  기본 사용법 입니다.

메모리 할당은  TVitrualStringTree  가 했기 때문에,  해제도 알아서 해줍니다.


하안인 님이 쓰신 글 :
: help파일도 보면서 지금 3일재 이것 저것 해보고 있는데요..
:
: VirtualStringView에 데이타를 직접 입력한 경우에
: 그값을 얻는 방법을 좀 알려주시면 감사하겠습니다.
:
: 어떤것으로 접근해야 하는지... 제가 보기엔 node쪽 원형만 있어서...
:
:
:
: 볼레롱 님이 쓰신 글 :
: : 하안인 님이 쓰신 글 :
: : : VirtualStringView컴포넌트를 설치해서 테스트 하고 있는데요..
: : :
: : : TListView에는 Item이 있어서 열로 데이타를 입력하는데 사용하는데...
: : :
: : : Node쪽은 있는데 Item에 해당되는 것을 못찾아서 ...
: : :
: : : TVirualStringTree에서는 어떻게 구현해야 되는지요...
: : :
: : : 홈페이지에 가서 샘플이 빌더용이 있어서 하나 받았서 보았는데...
: : : 여기서도 노드에 대한 것만 있어서...
: :
: : 이거 설치하시면,  설치 디렉토리에 Doc  아래에  help  파일이 있습니다.
: :
: : 이거 먼저 보시는 것이 순서 일듯하네요.
: :
: : TListView 와 TVirtualStringTree와 만든 사람이 다른데,
: : 동일한 것(Item)이 있어야 된다는 규칙은 없지요.
: :
: : help 파일중에 보시면,  순서대로 사용법이 나온 것이 있습니다.
: : 그것 참조하시면 될듯합니다.
: :
: : 그럼!

+ -

관련 글 리스트
40116 [질문]VirtualStringView에 대하여 하안인 858 2005/05/11
40135     Re:[질문]VirtualStringView에 대하여 볼레롱 885 2005/05/12
40138         Re:Re:[질문]VirtualStringView에 대하여 하안인 848 2005/05/12
40139             Re:Re:Re:[질문]VirtualStringView에 대하여 볼레롱 1048 2005/05/12
40141                 Re:Re:Re:Re:[질문]VirtualStringView에 대하여-여기까지는 했는데요.. 하안인 921 2005/05/12
40143                     Re:Re:Re:Re:Re:[질문]VirtualStringView에 대하여-여기까지는 했는데요.. 볼레롱 862 2005/05/12
40144                         Re:Re:Re:Re:Re:Re:[질문]VirtualStringView에 대하여-여기까지는 했는데요.. 하안인 1050 2005/05/12
40145                             팁&트릭 게시판에 샘플 올렸습니다 - 내용무- 볼레롱 839 2005/05/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.