|
TTreeView 에는 FullExpand 메서드가 있습니다. 이를 사용하면 됩니다.
m_tview->FullExpand();
심기준 님이 쓰신 글 :
: 프로그램 실행중에 사용자가 지정하는대로 노드들을 생성해주는 부분을 만들었는데요
: 사용자가 설정을 하고 실행 버튼을 클릭하면
: 일단 기존 트리뷰내의 노드들을 클리어 하고
: 다시 사용자가 정의한 내용대로 노드들을 생성을 합니다.
: 그런데 새로 만들때마다
: 차일드 노드들은 감춰진, 즉 어미노드들만 (+)표시를 품고 나타납니다.
:
: 노드들을 새로 만들때마다 차일드 노드들까지 모두 펼쳐진 상태로 보이게 하려면 어떻게 해야 할까요.
: 속성들 중에서 뭐 하나 만지면 될 줄 알고 계속 찝적댔는데 안되더군요.. 제 노력이 부족했는지..
: 속성중에서 autoexpand를 true로 하니까 맨처음 실행될때만 펼쳐진 상태로 나오더군요
: (프로그램 실행되면서 이전 상태를 저장해놓은 파일을 불러서 자동으로 노드를 생성해주도록 했습니다.)
:
: 그리구 그 만드는 부분은요.
: ..
: void TForm1::TreeViewInit(BYTE* InitData)
: {
: TTreeNode* m_TNode;
: char buff[10];
: BYTE Parent, // Parent 정보
: Child; // Child 정보
:
: Parent = InitData[0];
: Child = InitData[1];
:
: m_tview->Items->Clear(); // 기존의 트리뷰 내용은 지우고
:
: for(int ndx = 0; ndx < 3; ndx++)
: {
: if(Parent & 0x01)
: {
: sprintf(buff,"Parent %d",ndx+1);
: m_TNode = TreeView1->Items->Add(TreeView1->Selected,buff);
:
: for(int ndx2 = 0; ndx2 < 2; ndx2++)
: {
: if(Child & 0x01)
: {
: sprintf(buff,"Child %d",ndx2+1);
: TreeView1->Items->AddChild(m_TNode,buff);
: }
: Child >>= 1;
: }
:
: }
: else // 어미 노드가 없으면 자식 노드 정보는 무시한다.
: Child >>= 2;
:
: Parent >>= 1;
: }
: }
:
: 입니다.
: 추가할 부분이 있으면 알려주시면 감사하겠습니다.
: 그럼 좋은 하루 되세요...^^
|