|
말씀하신 기능은 in-line 에디터라고 하는데요.
이것은 별도의 기능입니다.
즉, 별도의 in-line 에디터를 구현 하셔야 하구요.
그 예제도 사이트 가시면, 있습니다.
IVTEditLinkDemo 이 예제가 in-line 에디터 예제입니다.
그럼!
하안인 님이 쓰신 글 :
: 여기까지는 3일동안 이것저것 찾아서 했는데요..
:
: 제가 구현하려는 것은 데이타를 보여준 다음 그것을 셀마다 사용자가 직접 입력해서
: 그값을 저장할수 있게하려고 합니다.
:
: TVirualStringTree에서 프로퍼티를 변경해서 값을 변경해도
: 엔터키를 치면 이전값으로 변경되잖아요..
: 이것이 OnGetText 이벤트에서 입력된 값이 보여주도록 되어있어서..
:
: 입력을 한 후 (Edited event)가 발생하면
: 입력한 값을 access하여 Data->NodeTitle의 값에 변경시켜 주어야 하는데..
:
: 입력한 값에 접근하는 방법을 몰라서 ....
:
: 다시한번 도움을 요청합니다.
: 볼레롱 님이 쓰신 글 :
: : 새술을 새 부대에 담는다는 이야기가 있지요.
: :
: : 우선 이전에 사용하시던 다른 콤포넌트(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 파일중에 보시면, 순서대로 사용법이 나온 것이 있습니다.
: : : : 그것 참조하시면 될듯합니다.
: : : :
: : : : 그럼!
|