Form-Caption ändern
-
hoi,
ich wollte mal fragen wie ich die Caption von nem Form ändern kann.
Also ich habe eine kleine funktion:void __fastcall TForm1::CreateMDIChild(String Name,String Status)
{
TForm4 *Child;
Child = new TForm4(Application);
Child->Caption = Name+" ("+Status+") - Chat Session";
LONG MyGWL_EXSTYLE = GetWindowLong(Child->Handle, GWL_EXSTYLE);
SetWindowLong(Child->Handle, GWL_EXSTYLE, MyGWL_EXSTYLE | WS_EX_APPWINDOW );
Child->Show();
}mit der ich ein Form öffne. nun wollte ich in dem Form dessen Caption ändern mit
Form4->Caption = "neue caption";
aber leider macht er das nicht ... er bringt zwar keinen error o.ä. aber die beschriftung wird nicht geändert ... warum? was kann ich tun? das währe wirklich wichtig!
mfg bw
-
BW schrieb:
nun wollte ich in dem Form dessen Caption ändern mit
Form4->Caption = "neue caption";
Wie kommst du auf 'Form4', deine Form heisst doch 'Child'!?
-
"Da war ich wohl zu langsam"
Dein Objekt vom Typ TForm4 hat nicht unbedingt den Namen Form4.
Weise deiner Form doch beim Erzeugen einen eindeutigen Namen zu:
TForm4 *Child; Child = new TForm4(Application); Child->Name = "TestForm"; TestForm->Caption = "Hallo Form4";oder schreib doch gleich:
Child->Caption = "Hallo Form4";
-
maam schrieb:
Child->Name = "TestForm"; TestForm->Caption = "Hallo Form4";Und sowas geht wirklich? Einer Form einen Namen zuweisen und dann diesen Namen verwenden?
Ohne das ausprobiert zu haben, würde ich behaupten, daß es dabei einen Fehler beim Kompilieren gibt.Gruß,
Alexander
-
mh hab da wohl vergessen zu erwähnen das das Form aufgerufen wird in der Unit1.cpp und das ich die Caption aber im Form selbst (also Unit4.cpp) ändern will (soll heißen ich hab "Child" dann nichtmehr ... im aufruf habe ich ja Child->Caption das geht auch aber wenn ich es im nachhinein ändern will gehts nichtmehr ... und es heißt Form4 (das steht zumindest im Objektinspektor vom BCB :D))
hmm ....
-
BW schrieb:
das ich die Caption aber im Form selbst (also Unit4.cpp) ändern will
Einfach Caption = "bla";
Ohne explizite Angabe wird die Variable immer zuerst im lokalen namespace gesucht, hier also bei der Form selbst.
-
ah vielen dank es geht wunderbar ^^