Всем привет!
Есть проблема: создал форму с кнопкой:
TForm1 = class(TForm)
Button1: TButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
public
FOwner: TForm;
FDesigner: IDesigner;
FEditorInterface: TIEditorInterface;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
Описал свою компоненту:
TMyComponent = class(TComponent)
И накидал редактор для компонеты:
TMyPropEditor = class(TComponentEditor)
procedure ExecuteVerb(Index: Integer); override;
function GetVerb(Index: Integer): string; override;
function GetVerbCount: Integer; override;
end;
procedure TMyPropEditor.ExecuteVerb(Index: Integer);
var
myComponent: TMyComponent;
sName: string;
begin
sName := ToolServices.GetCurrentFile;
sName := Copy(sName,1,length(sname)-4)+'.pas';
myComponent := Component as TMyComponent;
with TForm1.Create(application) do begin
FOwner := TForm(myComponent.Owner);
FDesigner := self.Designer;
FFEditorInterface := ToolServices.GetModuleInterface(sName).GetEditorInterface;
Show;
end;
end;
function TMyPropEditor.GetVerb(Index: Integer): string;
begin
case Index of
0: Result := 'MY Editor';
else Result := '';
end;
end;
function TMyPropEditor.GetVerbCount: Integer;
begin
Result := 1;
end;
Зарегистрировал все это:
procedure Register;
begin
RegisterComponents('Sample',[TMyComponent]);
RegisterComponentEditor(TMyComponent, TMyPropEditor);
end;
В итоге получили новый компонет с редактором в виде формы с кнопкой.
Задача такова - при клике по кнопке должен добавлятся в код обработчик события OnCreate (тоже самое происходит если в Object Inspector->Events->двойной клик по пустому полю рядом с OnCreate) и в этот обработчик вставляться какой-нибудь текст.
И пожалуйста не надо спрашивать, зачем это? Если можете помогите с решением, а демогогию разводить не надо.
Заранее огромное всем спасибо!