트리뷰에 캡션을 집어 넣기 위해서는
TreeView1.Items.add( ParrentNode, '캡션') 이렇게 하면 되고
트리뷰에 Object를 집어 넣기 위해서는
TreeView1.Items.AddObject( ParrentNode, '캡션', iMyObject) ; 이렇게 하면 됩니다.
현재 선택된 노드의 캡션을 읽어 오려면
var
iTreeNode: TTreeNode;
begin
if TreeView1.Selected <> nil then begin
iTreeNode := TreeView1.Selected;
Edit1.Text := iTreeNode.Text;
end;
end;
또는 객체의 데이터를 읽어 오려면
var
iTreeNode: TTreeNode;
begin
if TreeView1.Selected <> nil then begin
iTreeNode := TreeView1.Selected;
Edit1.Text := TMyObject(iTreeNode.Data).addr;
end;
end;
하면 됩니다.
그러나 트리뷰에서 가장 중요한 것은 특정 캡션의 자료를 찾는 것입니다.
재귀적 검색 방법에 의해서 찾아 보겠습니다.
function TForm3.GetNodeByCaption(ACurrNode: TTreeNode; const ACaption: string): TtreeNode;
var
jTreeNode: TTreeNode;
begin
Result:= nil;
jTreeNode:= ACurrNode;
while jTreeNode <> nil do begin
// edit2.Text:= jTreeNode.Text; 디버깅용
if CompareText(ACaption, jTreeNode.Text) = 0 then begin
Result:= jTreeNode;
exit;
end else begin
jTreeNode:= jTreeNode.getFirstChild;
while jTreeNode <> nil do begin
Result:= GetNodebyCaption(jTreeNode, ACaption);
if Result <> nil then exit;
jTreeNode:= jTreeNode.GetNextChild(jTreeNode);
end;
end;
end;
end;
function TForm3.GetTVNodeByCaption(iTreeView: TTreeView; const ACaption: string): TTreeNode;
var
iTreeNode : TTreeNode;
begin
Result:= nil;
iTreeNode:= iTreeView.Items.GetFirstNode;
while iTreeNode <> nil do begin
Result:= GetNodeByCaption(iTreeNode, ACaption);
if Result <> nil then exit;
iTreeNode:= iTreeNode.getNextSibling;
end;
end;
를 먼저 선언 해놓고
procedure TForm3.Button3Click(Sender: TObject);
var
iTreeNode: TTreeNode;
begin
iTreeNode:= GetTVNodeByCaption(TreeView1, Edit1.Text);
if iTreeNode <> nil then begin
iTreeNode.Selected:= True;
edit2.Text:= iTreeNode.Text;
end;
end;
하면 됩니다.
2012년 10월 15일 월요일
피드 구독하기:
댓글 (Atom)
델파이 12.1이냐 11.3이냐?
델파이가 12.1이 나왔습니다. 혹시 11.3버전의 커뮤니티버전이 필요하시는분이 있을 수 있을 것 같아 https://altd.embarcadero.com/.../RADStudio_11_3_esd_28... 와 이것 찾느랴 엄청고생함.
-
윈도우10에 있는 음성 녹음기는 간단하게 녹음 할 때 간편하고 좋다. 곰 녹음기를 사용하면 오늘기준으로 CPU 점유율이 35% 이상 올라가 맥의 팬이 돌아간다. 윈10의 음성녹음기는 좋은 데 저장 폴더가 디폴트로 되어 있어 사용하기 불편하다. ...
-
클라이언트가 HTTP프로토콜을 이용해서 서버에 무언가를 전달할 때 Get 이나 Post가 사용됩니다. GET은 주소줄에 값이 ?뒤에 쌍으로 이어붙고 여러개일 경우에는 & 으로 반복하고, POST는 숨겨져서(body안에) 보내집니다. GET...
-
일단은 Python 사이트에가서 dmg 파일을 다운받아 설치합니다. m1 프로세서일경우에는 아래에 있는 파일이겠죠. 터미널을 열어 파이썬의 위치를 확인합니다. 파이썬3의 위치로 이동합니다. [cd /usr/local/bin] 파인더를 엽니다. [...
댓글 없음:
댓글 쓰기