Come creare una cartella (directory) editor di proprietà per il mio componente?
-
13-10-2019 - |
Domanda
Delphi 2010
Come creare una cartella (directory) editor di proprietà per il mio componente?
sono stato in grado di creare facilmente uno per una proprietà FileName utilizzando:
TFileProperty = class(TStringProperty)
public
function GetAttributes: TPropertyAttributes; override;
procedure Edit; override;
end;
RegisterPropertyEditor(TypeInfo(TFileName),nil, '', TFileProperty);
Credo che potrebbe richiedere un tantino più lavoro, come penso di aver bisogno di creare una classe per la registrazione, e in qualche modo chiamare selDir routine API o qualcosa
Grazie per tutto l'aiuto che possono offrire
Soluzione
Credo di aver trovato qualcosa da lavoro, a meno che qualcun altro può venire con qualcosa di meglio
type
TFolderName = String;
TFolderNameProperty = class(TStringProperty)
public
function GetAttributes: TPropertyAttributes; override;
procedure Edit; override;
end;
function TFolderNameProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog]
end {GetAttributes};
procedure TFolderNameProperty.Edit;
var
Dir: String;
begin
SelectDirectory('Select a directory', '', Dir)
SetValue(Dir);
end {Edit};
procedure Register;
begin
RegisterPropertyEditor(TypeInfo(TFolderName),nil, '', TFolderNameProperty)
end;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow