Fenster Größe (wichtig/dringend)
-
Hallo,
ich hab ein kleines Problem.
Ich hab ein Spiel programmiert (Form-Anwendung) und will, dass das Spiel auf der gesamten Größe des Monitors angezeigt wird. Ich hab also als TForm Eigenschaft wsMaximized eingestellt. Funktioniert auch, aber bei anderen erscheinen dann immer scrollbars. es wird halt nicht der gesamte teil(die gesamte Form) angezeigt.
Goibt es da irgenteinen Code mit dem man das Problem lösen kann, bzw. das sich die Form auf die jeweilige Größe des Monitors einstellt?!Gruß,
drummi
-
Hi,
mit
Form1->Width = Screen->Width;
kann man das machen.
mfg kpeter
-
danke,
werde es mal ausprobieren.
-
AutoScroll der Form auf false!
Die Scrollbars der Form Visible auf false!Am Besten, alles was in der Form ist in ein Panel, welches selbst alClient ist, setzen.
-
kpeter schrieb:
Hi,
mit
Form1->Width = Screen->Width;
kann man das machen.
mfg kpeter
also ich hab das jetzt mal als erstes in die Form Create Methode geschrieben. Muss ich das noch woanderes hinschreiben oder noch etwas anderes schreiben, weil so funkt das igrtwie nicht.
-
also bei mir funktioniert das...
Form1->Width = Screen->Width; Width = 100;
-
warum willst du jetzt die width=100 nehmen, du sagst doch vorher damit, dass du Width von Form1 wie den Screen haben willst!?
-
oh ja stimmt war ein bisschen zu schnell, aber es funtkioniert sonst auch bei mir
-
also einfach in die erste Zeile der FormCreate Methode den Code da reinschreiben?
so hab ich das nämlich gemacht.
-
Hi,
ist schon richtig; bevor das Formular zur Anzeige kommt, ermittelt man Höhe
und Breite des Bildschirms. Also in OnCreate.TScreen ist in VCL eine Klasse, schau sie dir mal an.
Möglicherweise (ganz bestimmt) musst du alle Steuerelemente und dein Formular skalieren,
wenn dein Spiel auf kleineren Bildschirmen laufen soll.mfg
kpeter
-
Hallo,
wie wärs denn mit WindowState -> wsMaximized und BorderStyle -> bsNone??
//Edit: Frage nicht korrekt gelesen
Du kannst auch die Auflösung an das Spiel anpassen...
hierLG, Micha
-
also muss man das doch anpassen, wenn es auf einem kleineren bildschirm läuft. schade.. ich dahcte das geht vielleicht irgentwie anders. naja, werd mal mit der bildschirmauflösung prob.
-
Die Anweisung gehört übrigens in den Konstruktor und nicht in OnCreate. Das sollte man besser gar nicht verwenden. Siehe auch dazu die Hilfe zu OnCreate.
-
Hi,
Braunstein schrieb:
Die Anweisung gehört übrugens in den Konstruktor und nicht in OnCreate. Das sollte man besser gar nicht verwenden. Siehe auch dazu die Hilfe zu OnCreate.
Welche Anweisung meinst du, in diesem Thread stehen schon einige Lösungsvorschläge.
mfg
Peter
-
Ich meine all das, was in OnCreate geschrieben worden ist. OnCreate sollte einfach nicht mehr verwendet werden.
-
Also ich habe die Erfahrung gemacht das einige Objekte im Konstruktor noch nicht existieren, im OnCreate allerdings schon.
-
Hundeman schrieb:
Also ich habe die Erfahrung gemacht das einige Objekte im Konstruktor noch nicht existieren, im OnCreate allerdings schon.
In anderen UI-Frameworks kenne ich das auch so, beim C++ Builder habe ich aber noch nie einen solchen Fall erlebt.
-
OnCreate kann aber durchaus vor dem Konstruktor aufgerufen werden, so dass das nicht sicher ist. Wenn du wirklich sicher gehen willst nimm lieber OnShow oder OnActivate, aber auf keinem Fall OnCreate.
siehe auch
http://web.archive.org/web/20041208115505/http://www.bcbdev.com/articles/suggest.htm#oncreate
-
Ich hab den BCB 5 und 6 und habe dort ebenfalls kein solches Verhalten feststellen können.
-
Hi,
@Braunstein,
die Webseite ist schon etwas angestaubt...Note: Updated Feb 21, 2000. New items have a NEW icon.
Zumal in den Beispielprojekten des BCB6 ausgiebig in FromCreate gecodet wird.
Werd mir das Thema aber dennoch genauer ansehen.mfg
kpeter