Hallo zusammen !
Da wäre mir eine ganz banale Frage untergekommen, die ich selber nicht beantworten kann:
Gibt es eine maximale Formgröße in Delphi ? (D5/Vista)
Die Aufgabenstellung ist: diverse Fenstereinstellungen bei Änderung zu speichern und bei Programmstart wieder herzustellen. Eigentlich ganz einfach. Nur bei der Formgröße beiße ich mir die Zähne aus. Es gibt die Anforderung, das Fenster auf max.
(2 * Screen.DesktopWidth) bzw.
(2 * Screen.DesktopHeight) in einem Multi-Monitor System zu begrenzen. Aktuell: bei zwei Monitoren nebeneinander liegt der Desktop in einer Größe von 2624x1200 Pixeln vor.
Will ich einer TForm.Width einen Wert größer als 2636 Pixel zuweisen, bleibt er bei 2636 stehen.
Sichtbar im Debugger (siehe Anhang). Bis zu diesem Wert klappt die Zuweisung, darüber hinaus nicht mehr.
In der Höhe ist es ähnlich. Da liegt die Grenze bei 1212 Pixeln.
Erst hatte ich den Fehler auf meiner Seite gesucht, aber dann doch noch ein Testprogramm geschrieben.
Das verhält sich genauso!
Schon mal vielen Dank im Voraus !
Ich freue mich schon auf Antworten.
Gruß
hurzli
Hier noch ein Stück aus dem Testprogramm als Beispiel:
Delphi-Quellcode:
procedure TForm1.btnWidthMaxClick(Sender: TObject);
var
OldVal : integer;
Terminate : boolean;
begin
Terminate := FALSE;
OldVal := Self.Width -1;
while( not ( Terminate )) do
begin
if(( OldVal = Self.Width ) or ( Self.Width > 6000 )) then
Terminate := TRUE // OldVal = Self.Width, Bedingung erfüllt bei 2636 ==> AUSSTIEG !
else
begin
OldVal := Self.Width;
Self.Width := Self.Width + 1;
end;
end;
end;
Analog dazu die Höhenänderung:
Delphi-Quellcode:
procedure TForm1.btnHeightMaxClick(Sender: TObject);
var
OldVal : integer;
Terminate : boolean;
begin
Terminate := FALSE;
OldVal := Self.Height -1;
while( not ( Terminate )) do
begin
if(( OldVal = Self.Height ) or ( Self.Height > 6000 )) then
Terminate := TRUE // OldVal = Self.Width, Bedingung erfüllt bei 1212 ==> AUSSTIEG !
else
begin
OldVal := Self.Height;
Self.Height := Self.Height + 1;
end;
end;
end;