1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| ...
TChangeEdit = type string;
TChangeEditProperty = class(TStringProperty)
public
function GetAttributes: TPropertyAttributes; override;
procedure Edit; override;
end;
TMonCompo = class(TComponent)
private
FChangeTXTEdit : TChangeEdit;
procedure SetChangeTXTEdit(const Value: TChangeEdit);
protected
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property ChangeTXTEdit : TChangeEdit read FChangeTXTEdit write SetChangeTXTEdit;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterPropertyEditor(TypeInfo(TChangeEdit), nil, '', TChangeEditProperty);
RegisterComponents('Tools', [TMonCompo]);
end;
{ TMonCompo }
constructor TMonCompo.Create(AOwner: TComponent);
begin
inherited;
SetChangeTXTEdit('');
end;
...
procedure TMonCompo.SetChangeTXTEdit(const Value: TChangeEdit);
begin
FChangeTXTEdit := 'Click to open -->';
end;
{ TChangeEditProperty }
procedure TChangeEditProperty.Edit;
var
Path: string;
begin
Path := xxxxxxxxxxxxxxx; // Répurérer le chemin du projet du projet
xxxxxxxxxxx(Path + 'MyFile.TXT'); // Ouvrir le fichier MyFile dans l'EDI
end;
function TChangeEditProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog];
end; |