📄 dewform.pas
字号:
unit DEWForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ExtCtrls;
type
TDelExForm = class(TForm)
Panel1: TPanel;
TreeView: TTreeView;
BtnParent: TButton;
BtnOwner: TButton;
BtnSave: TButton;
SaveDialog1: TSaveDialog;
BtnClose: TButton;
procedure BtnParentClick(Sender: TObject);
procedure BtnOwnerClick(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
private
{ Private declarations }
public
procedure AddChild (Node: TTreeNode;
Control: TWinControl);
procedure AddOwned (Node: TTreeNode;
Component: TComponent);
end;
var
DelExForm: TDelExForm;
implementation
{$R *.DFM}
procedure TDelExForm.BtnParentClick(Sender: TObject);
var
I: Integer;
Node: TTreeNode;
begin
TreeView.Items.BeginUpdate;
Screen.Cursor := crHourGlass;
try
TreeView.Items.Clear;
for I := 0 to Screen.FormCount - 1do
begin
Node:= TreeView.Items.AddChild (nil,
Format ('%s (%s)', [
Screen.Forms[I].Name,
Screen.Forms[I].ClassName]));
AddChild (Node, Screen.Forms[I]);
end;
finally
TreeView.Items.EndUpdate;
Screen.Cursor := crDefault;
end;
end;
procedure TDelExForm.AddChild (
Node: TTreeNode; Control: TWinControl);
var
I: Integer;
ChildNode: TTreeNode;
begin
for I := 0 to Control.ControlCount - 1do
begin
ChildNode := TreeView.Items.AddChild (Node,
Format ('%s (%s)', [
Control.Controls[I].Name,
Control.Controls[I].ClassName]));
if Control.Controls[I] is TWinControl then
AddChild (ChildNode, TWinControl (
Control.Controls[I]));
end;
end;
procedure TDelExForm.BtnOwnerClick(Sender: TObject);
begin
TreeView.Items.BeginUpdate;
Screen.Cursor := crHourGlass;
try
TreeView.Items.Clear;
AddOwned (nil, Application);
finally
TreeView.Items.EndUpdate;
Screen.Cursor := crDefault;
end;
end;
procedure TDelExForm.AddOwned (
Node: TTreeNode; Component: TComponent);
var
I: Integer;
ChildNode: TTreeNode;
begin
for I := 0 to Component.ComponentCount - 1 do
begin
ChildNode := TreeView.Items.AddChild (Node,
Format ('%s (%s)', [
Component.Components[I].Name,
Component.Components[I].ClassName]));
AddOwned (ChildNode, Component.Components[I]);
end;
end;
procedure TDelExForm.BtnSaveClick(Sender: TObject);
begin
if SaveDialog1.Execute then
TreeView.SaveToFile (SaveDialog1.FileName);
end;
procedure TDelExForm.BtnCloseClick(Sender: TObject);
begin
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -