скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Свойство FileName в невизуальном компоненте



Следующий код взят из dsgnintf.pas (иногда стоит покопаться в файлах!) для свойства TMPLayer.filename, с помощью C.Calvert..

В заголовке модуля компонента...


TFileNameProperty = class (TStringProperty)
  public
    function getattributes: TPropertyattributes; override;
    procedure Edit; override;
end;

добавьте функцию регистрации...


RegisterPropertyEditor(Typeinfo(String),
TMyComponent, 'Filename', TFileNameProperty);

и код...


function TFileNameProperty.GetAttributes;
begin
  Result := [paDialog];
end;

Procedure TFilenameProperty.edit;
var
  MFileOpen: TOpenDialog;
begin
  MFileOpen := TOpenDialog.Create(Application);
  MFileOpen.Filename := GetValue;
  MFileOpen.Filter := 'Правильный тип файлов|*.*'; (* Поместите здесь ваш собственный фильтр...*)
  MFileOpen.Options := MFileOpen.Options + [ofPathMustExist,ofFileMustExist];
  try
    if MFileOpen.Execute then 
      SetValue(MFileOpen.Filename);
  finally
    MFileOpen.Free;
  end;
end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook