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

È stato utile?

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
scroll top