Announcement

Collapse
No announcement yet.

About Info eigener Komponente

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

  • About Info eigener Komponente

    Hallo ich möchte gern eine About-Info in meine selbtgeschriebenen
    Komponenten integrieren, mich würde einmal interessieren, wie man
    das für den Objektinspetor mach bzw. wie man das in das Context-Menu
    zur Komponente einbaut, wer kann mir helfen, vielleicht mit einem
    kleinen Beispiel?

    danke Euch

  • #2
    Hi,

    das geht relativ einfach.

    Du brauchst dazu einen neuen Propertyeditor (eigenes Package).

    Zuerst definierst du dir einen "Property-Typen"
    <PRE>
    Bsp.:

    Type
    TAbout = TYPE STRING;

    Als nächstes der Property-Editor

    TYPE
    TAboutEditor = class(TStringproperty)
    function GetAttributes:TPropertyAttributes; override;
    procedure Edit;override;
    end;

    IMPLEMENTATION
    uses
    MyAboutFormDlg; //hier hast du deinen About-Dialog definiert
    //Achtung den Var-Teil wegschmeißen, wird dynmisch
    //erzeugt

    function TAboutEditor.GetAttributes:TPropertyAttributes;
    begin
    result := [paDialog,paReadonly]; //siehe Delphi-Hilfe
    end;

    Procedure TAboutEditor.Edit;
    var
    MyDlg : TMyAboutDlg,

    begin
    MyDlg := TMyAboutDlg.create(Application);
    Mydlg.showmodal; //Das Ergebnis interresiert normal nicht
    mydlg.free;
    end;

    Jetzt das ganze noch registrieren

    procedure Register;
    begin
    RegisterPropertyEditor(Typeinfo(TAbout),NIL,'',TAb outEditor);
    end;

    und das ganze als Designtime-Package installieren.

    Wann immer du jetzt in einer Komponente eine Eigenschaft vom
    Typ TAbout hast, kannst du im Objektinspektor mit hilfe des Buttons (...) deinen Aboutdialog anzeigen.

    Gruß

    Uw

    Comment


    • #3
      Schau dir doch die Jedi VCL http://jvcl.sourceforge.net an. Wir machen eine Extra-Property an die Komponenten und haben einen Property-Editor dafuer, der ein schoenes Fenster zeigt. Der Trick ist, das die Property nur an den Design-Time Packages dran ist

      Comment


      • #4
        Das funktioniert natuerlich genau so wie Uwe es vormacht :-

        Comment

        Working...
        X