Komponentenentwicklung - Properties einer Unterkomponente übernehmen



  • Hi!

    Ich entwickle gerade an einer Komponente die es erlaubt, dass z.B. ein TLabel oder ein TEdit angezeigt werden kann. Ich habe die Komponente von TCustomCOntrol abgeleitet und möchte jetzt die Properties der beiden Komponenten verfpgbar machen. Muss ich die jaetzt manuell adden (__property bool Enabled ....) oder gibt es eine Möglichkeit wie ich die ganze Komponente direkt als Property (mit seinen eigenen Properties als Unteroptionen z.B.) im ObjectIns. anzeigen kann?

    MfG



  • Hi,

    du kannst die anderen Komponeten als SubComponent ablegen.

    __property TLabel* Label={read=FLabel,write=SetLabel};
    

    Im Konstruktor:

    Label=new TLabel(this);
    Label->Parent=this;
    Label->Name="Label"; // notwendig da ein Bug in der VCL, der noch nicht gefixed wurde
                         // wenn der NAme nicht explizit gesetzt wird, können die Ereignisse nicht gesetzt werden.
    
    Label->SetSubComponent(true);
    

    den rest krieste dann auch hin..

    [ Dieser Beitrag wurde am 21.05.2003 um 11:58 Uhr von AndreasW editiert. ]



  • mhm... ich hab den CBuilder 5 und ich finde den Befehlt nichtmal in der Hilfe 😞



  • ich weiss. Lässt sich schwer finden. Gibt aber ruhig ein. funzt...



  • jo danke erstmal für deinen tipp

    welche datei muss ich den includen das es funzt? weil so krieg immer ein "is not a member of ..." error



  • Hi,
    ich würde sagen, du musst noch FLabel und SetLabel definieren und deklarieren!

    MFG

    Alexander Sulfrian



  • joh, das wirst du wohl machen müssen.
    Wenn du anregungen brauchst, kannst du ja mal im Tutorial ( Siehe Signatur) reinschauen...



  • Original erstellt von Alexander Sulfrian:
    **Hi,
    ich würde sagen, du musst noch FLabel und SetLabel definieren und deklarieren!

    MFG

    Alexander Sulfrian**

    🙂 hehe ja das ist klar...

    nee hab ich natürlich gemacht aber ich kriege halt immer: "SetSubComponent() is not a member of TButton"


Anmelden zum Antworten