트리뷰에 캡션을 집어 넣기 위해서는
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)
델파이의 부활(Antigravity와의 만남)?
델파이 프로그램을 사용하여 개인적으로 필요한 프로그램을 생성해 왔는데, 얼마전부터 파이썬으로 옮겨갔다. 그런데 Google 의 Antigravity를 만나고 나서 델파이에 대한 미련을 버리지 못해 제미나이가 Delphi이에 대한 학습도 엄청 했을...
-
윈도우10에 있는 음성 녹음기는 간단하게 녹음 할 때 간편하고 좋다. 곰 녹음기를 사용하면 오늘기준으로 CPU 점유율이 35% 이상 올라가 맥의 팬이 돌아간다. 윈10의 음성녹음기는 좋은 데 저장 폴더가 디폴트로 되어 있어 사용하기 불편하다. ...
-
해당 comfyui 가상 환경에 설치하여야 함 cd C:\Users\jglee\AppData\Roaming\StabilityMatrix\Packages\ComfyUI PS C:\Users\jglee\AppData\Roaming\StabilityMatr...
-
오렌지에서 이상치 데이터를 처리하는 위젯은 Outliers Widget을 사용합니다. Row Select Widget에서도 수동으로 값을 입력하여 처리할 수 있습니다. 1. 먼저 연습에서 자주 사용되는 가공되기 전의 Titanic 데이터를 다운받습니...
댓글 없음:
댓글 쓰기