Как добавить aboutbox в tcustomcontrols?
-
17-09-2020 - |
Вопрос
Я хочу добавить о поле / диалоговое окно на моем пользовательском компонента.Как сделать небольшую кнопку [...] появиться на инспекторе объекта?Как и присвоение присвоения 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);
.
С уважением