📄 mainform.pas
字号:
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ExtCtrls,
{$IFDEF VER100}
PropSets, // For Delphi 3
{$ENDIF}
PropertySet, ActiveX;
type
TfrmMain = class(TForm)
pnlBottom: TPanel;
pnlClient: TPanel;
Label1: TLabel;
listProperties: TListView;
btnClose: TButton;
Label2: TLabel;
Label3: TLabel;
ecPropertyName: TEdit;
ecValue: TEdit;
btnDelete: TButton;
btnSet: TButton;
btnOpen: TButton;
OpenDialog1: TOpenDialog;
PropertySet1: TPropertySet;
procedure btnOpenClick(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure btnSetClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
procedure PropertySet1EnumProperties(Sender: TObject;
PropertyName: String; PropertyID: Integer;
PropertyVariant: tagPROPVARIANT);
procedure listPropertiesClick(Sender: TObject);
private
procedure LoadPropertyList;
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.DFM}
procedure TfrmMain.LoadPropertyList;
begin
listProperties.Items.Clear;
PropertySet1.Enumerate;
end;
procedure TfrmMain.btnOpenClick(Sender: TObject);
begin
if OpenDialog1.Execute then begin
PropertySet1.Close;
PropertySet1.FileName := OpenDialog1.FileName;
PropertySet1.StreamGUID := FMTID_UserDefinedProperties;
PropertySet1.Open;
listProperties.Enabled := True;
ecPropertyName.Enabled := True;
ecValue.Enabled := True;
btnSet.Enabled := True;
btnDelete.Enabled := True;
LoadPropertyList;
end;
end;
procedure TfrmMain.btnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.listPropertiesClick(Sender: TObject);
var
LI: TListItem;
begin
LI := listProperties.Selected;
if LI <> nil then begin
ecPropertyName.Text := LI.Caption;
ecValue.Text := LI.SubItems[0];
end;
end;
procedure TfrmMain.btnSetClick(Sender: TObject);
begin
PropertySet1.SetProperty(ecPropertyName.Text, ecValue.Text);
LoadPropertyList;
end;
procedure TfrmMain.btnDeleteClick(Sender: TObject);
begin
PropertySet1.DeleteProperty(ecPropertyName.Text);
LoadPropertyList;
end;
procedure TfrmMain.PropertySet1EnumProperties(Sender: TObject;
PropertyName: String; PropertyID: Integer;
PropertyVariant: tagPROPVARIANT);
var
LI: TListItem;
begin
if PropertyVariant.vt = VT_LPSTR then begin
LI := listProperties.Items.Add;
LI.Caption := PropertyName;
LI.SubItems.Add(PropertyVariant.pszVal);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -