ComponentCount funktioniert nich richtig??



  • Hi!

    Ich verschiebe Komponenten zur laufzeit auf andere Komponenten!

    Also:

    Eine Groupbox wird zur laufzeit erstellt, wenn diese angeklcikt wurde, ist sie die aktive Groupbox.
    Jetzt kann man weitere Komponenten auf diese aktive Groupbox hinzufügen.
    (Parent der neuen ist also diese Groupbox).

    Dann geb ich den ComponentCount aus. Da stimmt noch alles!

    Jetzt kann man per verschieben-button die Komponenetn einer Groupbox auf eine andere Verschieben.
    Also wechselt der Parent der Komponente. Die vershcobene Komponente erscheint dann auch auf dieser neuen Groupbox.

    Wenn ich jetzt allerdings wieder den ComponentCount ausgebe der Groupbox steht da 0...
    Muss ich da noch irgendwas anders als Parent festlegen?
    o.O

    MfG Puccini



  • BCB-Hilfe schrieb:

    Indicates the number of components owned by the component.

    Also nix mit Parent.



  • Das weis ich auch!

    Trotzdem muss ja die Komponente die ich verschieben will einen neuen Parent bekommen!

    Ich habs jetzt gelöst:

    Also:
    GroupBox1 mit Button1
    Button1 verschieben:
    -Button1->Parent=GroupBox2
    -GroupBox2->InsertComponent(Button1);

    Natürlich mit dynamic_cast zwischendrin.
    Scheint zu gehen 😃 😃



  • Parent bestimmt, wo das Control angezeigt wird. Für ComponentCount ist Owner entscheidend.
    Besser wäre vermutlich der Einsatz von ControlCount, schliesslich geht es dir ja wohl nur um Steuerelemente, nicht aber um nichtvisuelle Komponenten wie PopupMenu o.ä.



  • nichtvisuelle elemente?

    Teilweise werden Groupboxen auch ausgeblendet! und dann sollen die aber auch mit erfasst werden^^

    Aber so wie ichs gelöst habe sollte es doch auch gehen oder?
    Funktioniert zumindes 😃



  • Keine Ahnung. Aus deinen Erklärungen geht ja nicht hervor, ob und warum die Abweichung im ComponentCount ein Problem sein sollte.

    Visuelle Komponenten sind Buttons, Memos, Panels etc., unabhängig davom, ob sie versteckt sind oder nicht.
    Nichtvisuelle Komponenten sind z.B. TTimer, TActionList, TDataSource usw.


Anmelden zum Antworten