質問

カスタムコンポーネントのボックス/ダイアログボックスを追加したいです。オブジェクトインスペクタに小さなボタン[...]が表示されますか?トイレコンポーネント上の写真を割り当てるのと同じように。

役に立ちましたか?

解決

これに似たプロパティを定義する必要があります。

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

tfabout はクラスで、ユーザーが "オブジェクトインスペクタ"のプロパティをクリックすると、表示する形式(フォームについて)を定義します。

さらに、「プロパティエディタ」を登録する必要がある場合は、3点のブートンを参照してください。... |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.
.

あなたの財産についての仕事のための「プロパティエディタ」の「登録」するための範囲のみ。あなたの編集者の "Link" あなたの財産にとって重要です。

コンポーネントを登録するためのコードがある場合は、登録のコードを追加します。

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

wares

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top