Checkboxen dynamisch erstellen ??



  • Hallo,
    ich habe ein kleines Problem in meinem Programm.
    Es geht um dynamische Projekterzeugung.
    Hintergrund:
    Über eine Stringlist lese ich eine ini-Datei ein und werte sie aus.
    Wenn dann an einer bestimmten Stelle in der Datei ein bestimmtes Zeichen steht
    soll eine Checkbox in meinem Formular auftauchen.
    Mit folgendem Befehl erzeuge ich die dynamische STringList und es funktioniert
    einwandfrei.

    TStringList *List1 = new TStringList;

    Bei der Erzeugung der Checkbox allerdings stoße ich an meine Grenzen.
    Ich versuche es auf demselben Weg mit new. Lasse ich die KLammern hinter TCheckbox weg meckert der Compiler, es muß etwas in den Klammern stehen mit "".
    Warum und weshalb und was da genau hereingehört weiss ich nicht.
    Auf jeden Fall meckert er so nicht und führt den Code aus. In meinem Formular
    sehe ich allerdings keine Checkbox, obwohl ich sie sichbar gemacht habe und
    sie positioniert sein müsste.

    TCheckBox *Check1 = new TCheckBox("???");
    Check1->Visible=true;
    Check1->Top=30;
    Check1->Left=250;

    Was kann ich tun, dass es funktioniert ???

    Danke



  • In der Hilfe steht der Aufruf von TcheckBox.
    Also genauer gesagt, der des Konstruktors.
    Wie fast alle visuellen Komponenten erwartet auch TCheckBox einen Parameter,
    nämlich TComponent *Owner.
    Also möchte er ein Zeiger auf eine Komponente haben.
    Wenn du dich in deinem Formular befindest, dann kannst du z.B. das Formular übergeben. Dies machst du, indem du entweder den Namen des Formulars übergibst (Form1 z.B.) oder du verwendest den this-Zeiger.
    this macht nichts anderes als auf sich selbst du zeigen. Und wenn du dich in deinem Formular befindest, dann zeigt this genau auf selbiges.
    Natürlich kannst du auch z.B. den Namen eines Panels übergeben, wenn sich die Checkbox darauf befinden soll.

    Aber wie gesagt, schau dir mal in Ruhe die Hilfe an.



  • Den FAQ-Beitrag zum erstellen von Komponenten zur Laufzeit hast du ja bestimmt schon gelesen oder?

    -junix



  • Danke JeGr für den Tip. Dies habe ich aber natürlich schon probiert.
    Da in den Klammern Anführungsstriche verlangt werden ist es egal was
    ich dort hineinschreibe. Auch der Name des Formulars brachte die
    Checkbox nixht zum Vorschein.

    Nein Junix, ich habe keinen FAQ-Beitrag zu dem Thema im Builderbereich gefunden. Wo ist der genau ???



  • Original erstellt von mango05:
    **Da in den Klammern Anführungsstriche verlangt werden ist es egal was
    ich dort hineinschreibe.
    **

    Wieso Anführungsstriche?
    Wo hast du das denn aufgeschnappt?! 😕

    Wenn du noch nicht in der FAQ nachgeschaut hast, dann wird's aber höchste Zeit...

    [ Dieser Beitrag wurde am 22.01.2003 um 16:38 Uhr von JeGr editiert. ]



  • OK, er nimmt es auch ohne " ". Trotzdem wird nichts angezeigt.
    Wo finde ich denn das FAQ, ich habe jetzt schon zum 3. mal alles durchgeschaut ??

    Please Help!



  • Danke für die Hilfe, Ich habe den Beitrag gefunden und Parent eingefügt.

    Sorry, habe es wirklich überlesen.

    Danke


Anmelden zum Antworten