Вопрос

Я хочу добавить о поле / диалоговое окно на моем пользовательском компонента.Как сделать небольшую кнопку [...] появиться на инспекторе объекта?Как и присвоение присвоения Picre на компоненте времени.

Это было полезно?

Решение

Вы должны определить свойство, подобное этому:

//: Información acerca del paquete de componentes
property AboutMe:TFAbout read FAboutG stored false;
.

tfabout - это класс, который определяет форму, которую вы хотите увидеть (о форме), когда пользователь нажимает на свойство в «Объективном инспекторе».

Дополнительно вы должны зарегистрировать «редактор недвижимости», если вы хотите увидеть Бутутон с тремя точками | ... |в Oi.

Это примерное устройство:

unit UTAboutProp;

interface

uses
  DesignIntf, DesignEditors;

type
  TAboutGProp = class(TPropertyEditor)
  public
    procedure Edit(); override;
    function GetValue(): string; override;
    function GetAttributes(): TPropertyAttributes; override;
  end;

implementation

uses
  SysUtils, FormAbout, UConstantes;

procedure TAboutGProp.Edit();
begin
  with TFAbout.Create(nil) do
  try
    ShowModal();
  finally
    Free();
  end;
end;

function TAboutGProp.GetValue(): string;
begin
  result := Format(GLIBSI_LBL,[GLIBSI_VERSION]);
  result := '1.0';
end;

function TAboutGProp.GetAttributes(): TPropertyAttributes;
begin
  result := [paDialog,paReadOnly];
end;

end.
.

Отдохните, чтобы «зарегистрировать» этот «редактор недвижимости» для работы с вашим о собственности;Это важно для «ссылки» Ваше свойство с ваш редактор .

Где у вас есть код для регистрации компонента, добавить код для регистрации свойства:

  RegisterPropertyEditor(TypeInfo(TFAbout),nil,'',TAboutGProp);
.

С уважением

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top