如何在TCustomControls中添加TAboutBox?

发布于 2024-09-10 14:08:41 字数 82 浏览 7 评论 0原文

我想在我的自定义组件上添加 aboutbox/dialogbox。如何使小按钮[...]出现在对象检查器上?就像在 Timage 组件上分配图片一样。

I want to add aboutbox/dialogbox on my Custom component. how to make the small button[...] appear on the object inspector? just like the assigning a picure on the Timage component.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小糖芽 2024-09-17 14:08:41

您必须定义与此类似的属性:

//: 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);

问候

You must define a property similar to this:

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

TFAbout is a class, that define the form that you want to see (About form), when the user click on the property in "Object Inspector".

Additionally, you must register a "Property Editor", if you want see a buuton with the three point |...| in OI.

This is a sample unit:

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.

Only rest to "register" this "property Editor" for work with your About property; This is important for "link" your property with your editor.

Where you have the code for register the component, add the code for register the property:

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

Regards

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文