📄 prjform.pas
字号:
unit PrjForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls, ExtCtrls, ToolIntf, EditIntf, ExptIntf;
type
TPrjInfoForm = class(TForm)
TreeView1: TTreeView;
ImageList1: TImageList;
procedure TreeView1DblClick(Sender: TObject);
public
UnitsNode, FormsNode: TTreeNode;
procedure UpdateTree;
function FindNode (Text: string): TTreeNode;
end;
var
PrjInfoForm: TPrjInfoForm;
const
stOpen = 1;
stClosed = 2;
// stNot = 3;
stNode = 4;
implementation
{$R *.DFM}
function TPrjInfoForm.FindNode (Text: string): TTreeNode;
var
I: Integer;
begin
Result := nil;
for I := 0 to TreeView1.Items.Count - 1 do
if TreeView1.Items [I].Text = Text then
begin
Result := TreeView1.Items [I];
Exit;
end;
end;
procedure TPrjInfoForm.UpdateTree;
var
I, nTot: Integer;
ChildNode: TTreeNode;
FileName: string;
begin
if ToolServices.GetProjectName = '' then
Caption := 'Project VCS'
else
begin
Caption := 'Project VCS - ' +
ExtractFileName (ToolServices.GetProjectName);
with TreeView1.Items do
begin
Clear;
BeginUpdate;
// add units
UnitsNode := AddChild (nil, 'Units');
UnitsNode.StateIndex := stNode;
nTot := ToolServices.GetUnitCount;
for I := 0 to nTot - 1 do
begin
FileName := ToolServices.GetUnitName (I);
ChildNode := AddChild (UnitsNode, FileName);
if ToolServices.IsFileOpen (FileName) then
ChildNode.StateIndex := stOpen
else
ChildNode.StateIndex := stClosed;
end;
// add forms
FormsNode := AddChild (nil, 'Forms');
FormsNode.StateIndex := stNode;
nTot := ToolServices.GetFormCount;
for I := 0 to nTot - 1 do
begin
FileName := ToolServices.GetFormName (I);
ChildNode := AddChild (FormsNode, FileName);
if ToolServices.IsFileOpen (FileName) then
ChildNode.StateIndex := stOpen
else
ChildNode.StateIndex := stClosed;
end;
EndUpdate;
end;
TreeView1.FullExpand;
end;
end;
procedure TPrjInfoForm.TreeView1DblClick(Sender: TObject);
begin
if (TreeView1.Selected.Level = 1) and (
(TreeView1.Selected.Parent.Text = 'Units') or
(TreeView1.Selected.Parent.Text = 'Forms')) then
begin
if FileExists (TreeView1.Selected.Text) then
ToolServices.OpenFile (TreeView1.Selected.Text)
else
MessageDlg ('The physical file ' +
TreeView1.Selected.Text + ' still doesn''t exist',
mtError, [mbOK], 0);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -