Parent ist immer Form1



  • Hallo,
    ich habe eine Klasse(MButton) von TCustomControl abgeleitet.
    Mein Problem ist, dass wenn ich den Button mit der IDE plazieren will,
    Parent (Owner?) immer Form1 wird und nicht Panelx oder GroupBoXy.
    Was und Wo muss ich eintergen ?
    Habe im constructor schon
    Parent = (TWinControl*) Owner;
    u. ä. probiert.

    Es will nicht funktionieren !



  • Ist es eine selbstgeschriebene Komponente?

    Parent = this;



  • Ja.
    Hatte was ähnliches in delphi (Firma) geschrieben, nur in c++ (Privat) will es nicht.
    Ich benutze BCB6.



  • Hallo,

    Parent = (TWinControl*) Owner;

    ...und genau das ist das Problem.
    Der Owner ist immer das zugrundeliegende Form, lediglich das Parent wird auf das jeweilige Panel gesetzt.

    Wenn Du im C++Builder einen Button auf ein Panel legst, dann ist z.B.:
    Button1->Parent == Panel1
    aber
    Button1->Owner == Form1

    Parent ist nicht das gleiche wie Owner!

    Gruß,
    Robert



  • Bei Parent = xxx geht es ja.
    Es muss aber von der IDE aus gehen.
    -> Maus auf Symbol -> Symbol auf ein Panel ziehen + loslassen ->
    SOLL: Parent == Panel

    sonst landet es irgendwo auf dem Formular.
    Ich habe keine Ideen mehr und auch noch keine Komponente gefunden bei der man
    mal nachschauen kann. (außer delphi)



  • Hallo,

    hast Du die Eigenschaft "Parent" als published deklariert? In TCustomXXX dürften ja alle Eigenschaften erstmal als protected deklariert sein, oder?!?

    Gruß,
    Robert



  • ... auch schon Versucht.
    Dann erscheint in der IDE ein Feld mit "Parent" und Parent ist Form1.
    Ich glaube nicht das es ein "einfacher" Fehler von mir ist. Entweder ich mache was
    grundsätzlich falsch oder ich beachte was nicht, was die IDE braucht.


Log in to reply