Hallo, hab mal wieder eine Frage,
ich habe in meiner Form.Create folgende Funktion, um den Bildschirm voll asuzufühlen.
Delphi-Quellcode:
var
HTaskbar: HWND;
OldVal: LongInt;
begin
oldW := Width;
oldH := Height;
oldX := Left;
oldY := Top;
BorderStyle := bsNone;
FormStyle := fsStayOnTop;
Left := 0;
Top := 0;
Height := Screen.Height;
Width := Screen.Width;
Funktioniert auch ganz gut. Jetzt habe ich allerding´s auf meinem
Laptop eine Auflösung von 1280x1024 und z.B auf meinem Desktop 1024x768.
Wie bekomme ich jetzt hin, das mein Programm sich optimal an die Bildschirmauflösung anpaßt.
Mit der folgenden Code in der Create, ist das zwar möglich höhere Auflösungen zu Zoomen, aber wenn ich z.B. die mit meinem Laptop kompilierte Datei auf meinem Desktop starte, wird ein Teil vom Fenster abgeschnitten.
Delphi-Quellcode:
´
sWidth := Screen.MonitorFromWindow(
Handle).Width / Width;
sHeight := Screen.MonitorFromWindow(
Handle).Height / Height;
if sWidth < sHeight
then
begin
ScaleBy(Round(Screen.MonitorFromWindow(
Handle).Width * 1.02), Width);
end
else
begin
ScaleBy(Round(Screen.MonitorFromWindow(
Handle).Height * 1.02), Height);
end;
WindowState := wsMaximized;