Announcement

Collapse
No announcement yet.

Properties in untermenü stecken

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Properties in untermenü stecken

    Ich schlage mich z.Zt. mit kompos herum (ist absoulut nicht mein gebiet) ud da habe ich folgendes problem:
    ich möchte ein paar properties in ein untermenü zusammenfassen das man dann mit dem click auf das + öffnen kann wie z.B. Font bei TEdit.

    Hier die Registerfunktion meiner kompo:

    procedure Register; <br>
    begin<br>
    RegisterComponents('Standard', [TSpecialEdit]);<br>
    RegisterPropertiesInCategory(TLocalizableCategory, TSpecialEdit,<br>['Kommastellen','Negativ']);<br>
    end;

    TLocalizableCategory ist in der unit DsgnIntf definiert und delphi sollte eigentlich die properties in ein Standarduntermenü stecken. Ich habe mir auch schon eine eigene klasse erstellt die man anstatt TLocalizableCategory nehmen könnte:

    TSpecialEditOptions = class(TPropertyCategory)<br>
    class function Name:string; override;<br>
    end;

    nun das problem:
    das untermenü wird nicht erstellt, die properties bleiben auf der untersten ebene des objectinspectors.
    Was habe ich da falsch gemacht das das einfach net funzt ???

    mfg
    CRA

  • #2
    Hallo,<br>propiers mal so
    <pre>
    <font size="2" face="Verdana">unit MyEdit;
    interface
    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls;
    type
    TProps = class(TPersistent)// TPersistent wichtig wg Streaming
    private
    FA : Integer;
    FB : String;
    public
    published
    Property A :Integer read FA write FA;
    Property B :String read FB write FB;
    end;
    TMyEdit = class(TEdit)
    private
    { Private-Deklarationen }
    FProps : TProps;
    protected
    { Protected-Deklarationen }
    public
    { Public-Deklarationen }
    constructor Create(AOwner : TComponent); override;
    destructor Destroy; override;
    published
    { Published-Deklarationen }
    property Props : TProps read FProps write FProps;
    end;
    procedure Register;
    implementation
    procedure Register;
    begin
    RegisterComponents('Test', [TMyEdit]);
    end;
    { TMyEdit }
    constructor TMyEdit.Create(AOwner: TComponent);
    begin
    inherited Create(AOwner);
    FProps:=TProps.Create;
    end;
    destructor TMyEdit.Destroy;
    begin
    FProps.Free;
    inherited Destroy;
    end;
    end.
    </font></pre>
    <br>:-) Jens Schuman

    Comment


    • #3
      Hallo!
      Hat mich auch interesiert. Das Untermenü habe ich. Nur bekomme ich keinen Procedure-Aufruf.

      z.B.:<br>
      ... <br>
      procedure SetXAchse (X_parameter:TAchse);<br>
      ... <br>
      property X_Achse:TAchse read fXAchse write SetXAchse;<br>
      <br>
      Der Aufruf SetXAchse hat keine Wirkung.

      Wie geht das?

      mfg
      rasmu

      Comment

      Working...
      X