Как создать редактор свойств папки (каталога) для моего компонента? - PullRequest
2 голосов
/ 29 декабря 2010

Delphi 2010

Как создать редактор свойств папки (каталога) для моего компонента?

Мне удалось легко создать его для свойства FileName, используя:

TFileProperty = class(TStringProperty)  
public  
  function GetAttributes: TPropertyAttributes; override;  
  procedure Edit; override;  
end;  

RegisterPropertyEditor(TypeInfo(TFileName),nil, '', TFileProperty);  

Я думаю, что может потребоваться немного больше работы, так как я думаю, что мне нужно создать класс для регистрации и как-то вызвать программу SelDir API или что-то в этом роде

спасибо за любую помощь, которую вы можете предложить

1 Ответ

3 голосов
/ 29 декабря 2010

Я думаю, что у меня есть что-то для работы, если кто-то еще не может придумать что-то лучше

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;  
...