Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - minimale Fensterbreite


marcme - Fr 18.10.02 11:17
Titel: minimale Fensterbreite
Hallo zusammen!
Ich würde gerne ein Formular erstellen mit einer Breite von unter 112 bzw 104 Pixeln. Leider läßt sich bei ClientWidth nur ein Wert von 104 und bei Width ein Wert von 112 einstellen.
Es sind keine BorderIcons aktiviert und ich habe auch keine Caption vergeben. Jedoch bekommt man das Fenster nicht schmäler!

Vielen Dank schon mal im Voraus


opfer.der.genauigkeit - Fr 18.10.02 13:13

Du mußt die Eigenschaft BorderStyle verändern. Probier einfach n bißchen rum, bis dir ne Einstellung gefällt.
Allerdings kann ich auch im Objektinspekter die Werte trotzdem nicht kleiner setzen als du gesagt hast.
Hab dieses Problem aber im Code gelöst.

Ich hoffe das hilft ein bißchen.

Quelltext
1:
2:
3:
4:
5:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ClientHeight := 50;
  ClientWidth  := 50;
end;


Fals dir diese Lösung nicht gefallen sollte, überschreib einfach die abgeleitete Eigenschaft der Klasse TForm. :D


marcme - Fr 18.10.02 13:22

So funktionierts!
Schon seltsam wenn ich während der Laufzeit den BorderStyle auf Single stelle, ist das Formular sofort wieder bei einer Breite von 112 Pixel. Beim erneuten umstellen während der Laufzeit auf BorderStyle = none muß man auch wieder die Breite angeben denn sonst bleibt das Formular so breit! :?!?:


opfer.der.genauigkeit - Fr 18.10.02 13:40

Laß doch einfach beim FormCreate Width und Heigth stehen, dann übernimmt er jedes mal diese Einstellungen wenn die Eigenschaft BorderStyle es zuläßt.