Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Designeditor - Kein Menü , Keine Compo im OI (https://www.delphipraxis.net/84352-designeditor-kein-menue-keine-compo-im-oi.html)

Alter Mann 15. Jan 2007 20:40


Designeditor - Kein Menü , Keine Compo im OI
 
Hallo,

ich habe eine Compo geschrieben, ähnlich der ToolBar(Win32). Nun möchte ich, das über die rechte
Maustaste und einen entsprechenden Menü-Eintrag die Buttons hinzugefügt werden können, um sie bei
Auswahl im OI zu bearbeiten.

Eigendlich kein Problem dachte ich, aber irgendwie will es nicht so, wie es soll;-(

Vielleicht könnt ihr ja mal schauen:

Delphi-Quellcode:
type
  TExToolButtonProperty = class(TComponentProperty)
  public
    procedure Edit; override;
  end;

  TExButtonEditor = class(TDefaultEditor)
  protected
    procedure EditProperty(const PropertyEditor: IProperty;
      var Continue: Boolean); override;
  public
    procedure ExecuteVerb(Index: Integer); override;
    function GetVerb(Index: Integer): string; override;
    function GetVerbCount: Integer; override;
  end;

procedure Register;

implementation


procedure Register;
begin
  RegisterComponents('ExTools', [TExToolBar]);
  RegisterPropertyEditor(TypeInfo(TExToolButton), nil, '', TExToolButtonProperty);
end;

{ TExToolButtonProperty }

procedure TExToolButtonProperty.Edit;
var
  ETB : TExToolButton;
begin
  if (GetComponent(0) is TExToolBar) then
  begin
    ETB := TexToolButton.Create(TExToolBar(GetComponent(0)));
    ETB.Parent := TExToolBar(GetComponent(0));
    TExToolBar(GetComponent(0)).InsertButton(ETB);
  end;
end;

{ TExButtonEditor }

procedure TExButtonEditor.EditProperty(const PropertyEditor: IProperty; var Continue: Boolean);
begin
  if PropertyEditor.GetName = 'TExToolButtonProperty' then
  begin
    PropertyEditor.Edit;
    Continue := False;
  end;
end;

procedure TExButtonEditor.ExecuteVerb(Index: Integer);
begin
  if Index = 0 then Edit;
end;

function TExButtonEditor.GetVerb(Index: Integer): string;
begin
  if Index = 0 then
    Result := 'ExToolButton hinzufügen'
  else Result := '';
end;

function TExButtonEditor.GetVerbCount: Integer;
begin
  Result := 1;
end;

end.
Für Hinweise wie immer dankbar,

Alter Mann

Alter Mann 17. Jan 2007 18:30

Re: Designeditor - Kein Menü , Keine Compo im OI
 
*push*

jakobwenzel 17. Jan 2007 18:36

Re: Designeditor - Kein Menü , Keine Compo im OI
 
Das Registrieren des Component-Editors fehlt.

Alter Mann 18. Jan 2007 17:00

Re: Designeditor - Kein Menü , Keine Compo im OI
 
Hallo, tja das mag es sein.

Doch was trage ich ein, wenn es der OI sein soll?
Delphi-Quellcode:
RegisterComponentEditor(TExToolButton, ????);
Bis bald.

jakobwenzel 18. Jan 2007 19:29

Re: Designeditor - Kein Menü , Keine Compo im OI
 
http://wiki.delphigl.com/index.php/T...lphi_einbinden:
Zitat:

Der erste Parameter ist die Komponente für die der Komponenten-Editor gelten soll und der zweite der Komponenteneditor selbst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz