关于TTreeNode ( 积分: 5 )

  • 主题发起人 主题发起人 del_today
  • 开始时间 开始时间
D

del_today

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手:
本人出学delphi,请多指教!
以下为一个TreeView控件中,拖拽的例子中的一段代码,我跟踪了一下,发现TargetNode、Source、Sender、SourceNode等的值为一对括号(),为什么? 难道
TTreeNode的值就是一对()吗?
谢了!

procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
var
TargetNode, SourceNode: TTreeNode;
begin
TargetNode := TreeView1.GetNodeAt (X, Y);
// accept dragging from itself
if (Source = Sender) and (TargetNode <> nil) then
begin
Accept := True;
// determines source and target
SourceNode := TreeView1.Selected;
// look up the target parent chain
while (TargetNode.Parent <> nil) and
(TargetNode <> SourceNode) do
TargetNode := TargetNode.Parent;
// if source is found
if TargetNode = SourceNode then
// do not allow dragging over a child
Accept := False;
end
else
Accept := False;
end;
 
各位高手:
本人出学delphi,请多指教!
以下为一个TreeView控件中,拖拽的例子中的一段代码,我跟踪了一下,发现TargetNode、Source、Sender、SourceNode等的值为一对括号(),为什么? 难道
TTreeNode的值就是一对()吗?
谢了!

procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
var
TargetNode, SourceNode: TTreeNode;
begin
TargetNode := TreeView1.GetNodeAt (X, Y);
// accept dragging from itself
if (Source = Sender) and (TargetNode <> nil) then
begin
Accept := True;
// determines source and target
SourceNode := TreeView1.Selected;
// look up the target parent chain
while (TargetNode.Parent <> nil) and
(TargetNode <> SourceNode) do
TargetNode := TargetNode.Parent;
// if source is found
if TargetNode = SourceNode then
// do not allow dragging over a child
Accept := False;
end
else
Accept := False;
end;
 
>> TTreeNode的值就是一对()吗?
是因为TTreeNode没有Published的函数,即该类不含RTTI,所以你看不到它的属性。也就是说调试器里是通过取一个类的RTTI来显示类的信息的。
 

Similar threads

后退
顶部