dynamisches zeugs



  • hallo zusammen,

    ich möchte, während der benutzer warten muss, schnell ein formular mit einem text oder einem TAnimate anzeigen, wie geht das, hab's mal so versucht:
    sehe aber nur das Form ohne TLabel... 😞 was mqach' ich falsch?
    Vielen Dank!

    TForm *Anzeige_Frm = new TForm(this); // Formular erzeugen um etwas anzuzeigen während dem lesen
    Anzeige_Frm->Visible=true;            // Formular sichtbar machen
    Anzeige_Frm->Width=100;               // Grösse des Forms festlegen
    Anzeige_Frm->Height=100;              // Grösse des Forms festlegen
    Anzeige_Frm->Top = Screen->Height/2 - Anzeige_Frm->Height/2;// Form in der Mitte des Bildschirms platzieren
    Anzeige_Frm->Left = Screen->Width/2 - Anzeige_Frm->Width/2; // Form in der Mitte des Bildschirms platzieren
    Anzeige_Frm->Caption="moooomänt";
    //Anzeige_Frm->BorderStyle=bsNone;
    TLabel *Anzeige_Lab = new TLabel(Anzeige_Frm);
    Anzeige_Lab->Caption= "momänt";
    Anzeige_Lab->Visible=true;
    Anzeige_Lab->Top=10;
    Anzeige_Lab->Left=0;
    Anzeige_Lab->Width=100;
    Anzeige_Lab->Height=13;
    


  • Du muss auch noch den Parent von TLabel festlegen, damit er weiß das er zu Anzeige_frm gehört, wenn ich mich nicht täusche 🙂

    Anzeige_Lab->Parent = Anzeige_frm;
    

    Edit:
    (Hilfe zur Selbsthilfe vergessen 😃 )
    Ein blick in die FAQ hätte dir das aber auch gezeigt 😉



  • PuppetMaster2k schrieb:

    Du muss auch noch den Parent von TLabel festlegen, damit er weiß das er zu Anzeige_frm gehört, wenn ich mich nicht täusche 🙂

    Anzeige_Lab->Parent = Anzeige_frm;
    

    Wie's aussieht hast du dich getäuscht, ich hab' jetzt

    Anzeige_Lab->Parent = Anzeige_Frm;
    

    aber es wird immernoch kein Label angezeigt. 😞



  • Also bei mir gehts mir der Änderung von PuppetMaster2k.



  • also, hab' jetzt was geändert:

    TForm *Anzeige_Frm = new TForm(this); // Formular erzeugen um etwas anzuzeigen während dem lesen
    Anzeige_Frm->Visible=true;            // Formular sichtbar machen
    Anzeige_Frm->Width=100;               // Grösse des Forms festlegen
    Anzeige_Frm->Height=100;              // Grösse des Forms festlegen
    Anzeige_Frm->Top = Screen->Height/2 - Anzeige_Frm->Height/2;// Form in der Mitte des Bildschirms platzieren
    Anzeige_Frm->Left = Screen->Width/2 - Anzeige_Frm->Width/2; // Form in der Mitte des Bildschirms platzieren
    Anzeige_Frm->Caption="moooomänt";
    Anzeige_Frm->BorderStyle=bsNone;      // War auskommentiert vorher
    TLabel *Anzeige_Lab = new TLabel(Anzeige_Frm);
    Anzeige_Lab->Parent = Anzeige_Frm;
    Anzeige_Lab->Caption= "momänt";
    Anzeige_Lab->Visible=true;
    Anzeige_Lab->Top=10;
    Anzeige_Lab->Left=0;
    Anzeige_Lab->Width=100;
    Anzeige_Lab->Height=13;
    

    Wenn ich "Anzeige_Frm->BorderStyle=bsNone;" enable, tut Windows so, als ob die ganze Anwendung abgestürzt ist, bis ich das Formular wieder lösche... ABER ich sehe das TLabel im Formular, ganz komisch... *hmm*



  • Das versteh ich nicht, das klappt bei mir BCB 5 Pro einwandfrei. In welchem Event erstellst du denn die 2. Form?



  • Anzeige_Lab->Show();



  • Ich verstehe nicht, wieso du das Formular dynamisch zusammenschusterst, statt es einfach zu designen und bei Bedarf zu erstellen?!?

    -junix



  • PuppetMaster2k schrieb:

    Das versteh ich nicht, das klappt bei mir BCB 5 Pro einwandfrei. In welchem Event erstellst du denn die 2. Form?

    Im OnShow-Event eines anderen Forms.

    Jansen schrieb:

    Anzeige_Lab->Show();

    hat auch nichts geholfen. 😞

    junix schrieb:

    Ich verstehe nicht, wieso du das Formular dynamisch zusammenschusterst, statt es einfach zu designen und bei Bedarf zu erstellen?!?

    -junix

    weil ich mal wissen wollte, wie ich sowas genau machen müsste. Bisher wussste ich nur, dass es theoretisch möglich ist... *michschlauermachenwill* 🙂


Anmelden zum Antworten