skjoon 님이 쓰신 글 :
: ^^;; 제 나름대로 질문의 의미를 파악하고 구현을 해봤는데요.
: 확인해보세요.. 이게 맞길 빌겠습니다.
:
: 첨부한 실행파일도 같이 확인해보세요.
:
:
: void __fastcall TForm1::FormCreate(TObject *Sender)
: {
: TTreeNode *pRootNode = NULL, *pChildNode = NULL;
:
: TreeView1->Items->Clear();
: pRootNode = TreeView1->Items->Add(NULL, "ROOT");
: pRootNode->ImageIndex = 3;
:
: pChildNode = TreeView1->Items->AddChild(pRootNode, "Image");
: pChildNode->ImageIndex = 0;
:
: pChildNode = TreeView1->Items->AddChild(pRootNode, "Movie");
: pChildNode->ImageIndex = 1;
:
: pRootNode->Expand(true);
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::TreeView1Click(TObject *Sender)
: {
: TPoint pnt;
: GetCursorPos(&pnt);
: // 전체화면에서의 마우스포인터 위치를 트리뷰내부에서의 상대적인 위치로 변환
: pnt = TreeView1->ScreenToClient(pnt);
:
: // 현재 마우스포인터 위치에 있는 노드를 찾는다.
: TTreeNode* pSelNode = TreeView1->GetNodeAt(pnt.x, pnt.y);
: if(pSelNode == NULL) {
: Label1->Caption = "No Node Clicked.";
: return;
: }
:
: switch(pSelNode->ImageIndex) {
: case 3: // Root Node
: Label1->Caption = "Root Node Clicked.";
: break;
: case 0: // Image Node
: Label1->Caption = "Image Node Clicked.";
: Panel1->Visible = true;
: break;
: case 1: // Movie Node
: Label1->Caption = "Movie Node Clicked.";
: Panel1->Visible = false;
: break;
: }
: }
: //---------------------------------------------------------------------------
:
:
|