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*