Dynamisch erstellte Komponente ansprechen



  • Hallo

    Irgendwie verstehe ich dein Problem nicht. Insbesondere sehe ich keinen Sinn die Labels mit Owner = Image und Parent = Form zu erstellen. Was erhoffst du dir davon?

    bis bald
    akari



  • @akari
    stell dir mal ein AND-Glied vor. Er hat 2 Eingänge und 1 Ausgang. Durch die diese TLabels werden die Eingänge und Ausgang benannt. Das AND-Glied muss auf der Form verschiebbar sein und TLabels (Caption) müssen veränderbar sein.
    Dafür muss ich diese TLabels ansprechen können, um die Tlabels zu ändern.

    Mir ist keine andere Lösung eingefallen, daher habe ich das so gemacht.

    Ich weis wie ich diese TLabels (Caption) verändern kann, wenn ich auf diese Tlabels oder TImage drücke, was auch funktioniert.
    Im nächsten Schritt muss ich alle TLabels, die sich bei mir auf dem TImage befinden, ansprechen und in TRichEdit bzw TMemo auflisten.

    Natürlich gibt es eine andere Möglichkeit die Tlabels in TRichEdit bzw. TMemo reinzuschreiben. Z.B. bei der Erstellung dieser TLabels. Bloß mein Prof. verlangt, das ich diese so anspreche, wie oben es beschrieben ist.

    Gruß
    swunder



  • Hallo

    Das ist ja schön und gut, aber trotzdem ergibt die besagte Belegung von Owner und Parent keinen Sinn. Also zitier ich doch die BCB-Hilfe :
    - Owner gibt an welcher Container für die Speicherverwaltung der Komponente zuständig ist. Dabei wird das Control in das Array Components des Owners eingetragen und ist darüber iterierbar.
    - Parent gibt an in welchem Container das Control angezeigt werden soll.

    Wenn du also sowohl Owner als auch Parent der Labels auf das Image setzt, kannst du alle Labels (und nur diese Labels) über Components des Images iterieren.

    bis bald
    akari



  • @akari
    Also irgendwie komme ich nicht ganz dahinter, was du mir damit sagen möchtest!
    Wie würdest du den mein Problem Lösen bzw. die Komponente mit TLabels erstellen?

    😕 gruß



  • Meinst du das ich die Komponente so erstellen soll!

    const int x = 10; 
    TImage *img[x]; 
    
    for (int i = 0; i < x; i++) 
    { 
      img[i] = new TImage(this); 
      img[i]->Parent = this; 
      img[i]->Width = 32; 
      img[i]->Height = 32; 
      img[i]->Top = i * 35; 
    
       TLabel * newLabel1 = new TLabel(And);
       newLabel1->Left = 20 - 30;
       newLabel1->Top = 20 - 10;
       newLabel1->Caption = "In1";
       newLabel1->Name = "AND_In1_1";
       newLabel1->Font->Name = "Courier New";
       newLabel1->Parent = FormPtr;
       newLabel1->Transparent = true;
    
    }
    

    und dann so ansprechen soll!

    for (int ii = 0; ii < x; ii++) 
    { 
    Form2->RichEdit1->Lines->Add[Form1->img[ii]->newLabel1->Name];
    }
    

    Wird es gehen? Kann leider nicht ausprobieren, da ich auf der Arbeit bin.



  • Unqualifizierte Zwischenfrage: Wird das eine Diplomarbeit? AND-Glieder benennen, verschieben, auflisten... liest sich wie ein kleiner, selbstgeschriebener Editor für einfache Digitalschaltungen... das interessiert mich! 😮



  • Das ist keine Diplomarbeit.
    Einfach Freizeit Projekt, damit erlerne ich Builder C++.
    Aber alles andere stimmt.
    Bin so gesehen fast fertig! Fehlt bloß diese blöde Geschichte und paar Feineinstellungen?

    Help!!!!!



  • Coole Idee! Darf man das dann evtl mal testen wenns fertig ist?



  • warum nicht!!



  • 2 Login's? Oder hab ich da was falsch interpretiert?

    Sagst Bescheid, wenn's testbereit ist? Ich schicke dir dann meine mail-adresse per mail über dein Profil hier! 😉



  • ja du hast es falsch interpretiert!!!
    Aber ich hätte trotzdem nichts dagegen!

    @hw_sw
    ??? 😕 ???



  • Hallo

    hw_sw hat alle 4 Posts von einer IP gemacht von der auch swunder aus postet...

    Zum Thema : Niemand hier im Forum hat noch einen Überblick wie der Stand ist. Wenn du also noch eine offene Frage hast dann solltest du den Stand nochmal zusammenfassen und formulieren.

    bis bald
    akari



  • akari schrieb:

    hw_sw hat alle 4 Posts von einer IP gemacht von der auch swunder aus postet...

    Aha, zwei Kollegen am selben Router (und das ist die harmlose Variante!) 🕶

    Edit: Oder swunder is nich ganz allein 🤡 😃 🤡 (nur Spaß!)


Anmelden zum Antworten