Question

Je veux ajouter une boîte de boîte / boîte de dialogue sur mon composant personnalisé.Comment rendre le petit bouton [...] apparaître sur l'inspecteur d'objets?Tout comme l'affectation d'un picure sur la composante timane.

Était-ce utile?

La solution

Vous devez définir une propriété similaire à celle-ci:

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

tfabout est une classe, qui définit la forme que vous souhaitez voir (sur la forme), lorsque l'utilisateur cliquer sur la propriété dans "Inspecteur d'objet".

En outre, vous devez enregistrer un "éditeur de propriétés", si vous voulez voir un butuon avec les trois points | ... |en oi.

Ceci est une unité d'échantillonnage:

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.

ne repose que pour "enregistrer" cet "éditeur de propriétés" pour travailler avec votre propriété.Ceci est important pour "lien" votre propriété avec votre éditeur .

où vous avez le code pour enregistrer le composant, ajoutez le code de l'enregistrement de la propriété:

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

Cordialement

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top