1. [Delphi] TreeView 컴포텉느 활용하기 팁
설명) 우선 노드를 생성하고 해당 (세번째 노드 만 클릭 허용) 노드를 클릭시 각 노드마다 입력한 Hint 값을 출력하게 한다.
노드 생성 코드
procedure TForm1.Button1Click(Sender: TObject);
var
Root,Sub,Tree : TTreeNode;
RecPtr:PRec;
begin
TreeView1.Items.Clear;
New(RecPtr);
RecPtr^.Hint:='Hint 루트1';
RecPtr^.Name:='루트1 노드';
Root:= Treeview1.Items.AddObject(nil, RecPtr^.Name, RecPtr);
Root.ImageIndex:=0;
New(RecPtr);
RecPtr^.Hint:='Hint 서브1';
RecPtr^.Name:='서브 노드';
Sub:= Treeview1.Items.AddChildObject(Root, RecPtr^.Name, RecPtr);
Sub.ImageIndex:=0;
New(RecPtr);
RecPtr^.Hint:='Hint 서브의 자식1';
RecPtr^.Name:='서브의 자식 노드';
Tree:= Treeview1.Items.AddChildObject(Sub, RecPtr^.Name, RecPtr);
Tree.ImageIndex:=1;
Tree.SelectedIndex:=1;
New(RecPtr);
RecPtr^.Hint:='Hint 루트2';
RecPtr^.Name:='루트2 노드';
Root:= Treeview1.Items.AddObject(nil, RecPtr^.Name, RecPtr);
Root.ImageIndex:=0;
New(RecPtr);
RecPtr^.Hint:='Hint 서브1';
RecPtr^.Name:='서브 노드';
Sub:= Treeview1.Items.AddChildObject(Root, RecPtr^.Name, RecPtr);
Sub.ImageIndex:=0;
New(RecPtr);
RecPtr^.Hint:='Hint 서브의 자식1';
RecPtr^.Name:='서브의 자식 노드';
Tree:= Treeview1.Items.AddChildObject(Sub, RecPtr^.Name, RecPtr);
Tree.ImageIndex:=1;
Tree.SelectedIndex:=1;
end; |
해당 노드의 힌트값 출력 소스
procedure TForm1.TreeView1DblClick(Sender: TObject);
var
p:PRec;
tree:TTreeNode;
begin
tree:=TreeView1.Selected;
New(p);
p:=tree.Data;
if Treeview1.Selected.Level > 1 then begin // 노드 깊이가 1 이상일시 실행
showmessage(p^.Hint);
end;
end; |
임시 코드라 수시로 내용을 삽입 수정 할수 있습니다.
참고해주시기 바랍니다.