Hallo
Ich hab das Problem soweit gelöst. Ich hab eine Delphi 6 - Routine auf D2 umgeschrieben und mit Deiner Prozedur FormScale behandelt.
Das ist die derzeitige Lösung:
unit wood38; (meine
Unit)
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls;
type
Taufloesung3 = class(TForm)
Button1: TButton;
Label4: TLabel;
Label5: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label6: TLabel;
Label8: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button3: TButton;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
aufloesung3: Taufloesung3;
ScreenHeightDev,ScreenWidthDev: integer;
implementation
{$R *.DFM}
procedure Formscale(f:TForm);
var
sWidth: Double;
sHeight: Double;
begin
{ ScreenHeightDev:=strtoint(aufloesung.edit1.text);
ScreenWidthDev:=strtoint(aufloesung.edit2.text); }
sWidth := f.ClientWidth / Screen.Width;
sHeight := f.ClientHeight / Screen.Height;
if sWidth < sHeight then
begin
f.ScaleBy(Round(f.ClientWidth * 1.02),f.ClientWidth);
end
else
begin
f.ScaleBy(Round(f.ClientWidth * 1.02), f.ClientHeight);
end;
f.WindowState := wsMaximized;
end;
procedure Taufloesung3.Button1Click(Sender: TObject);
begin
label4.caption:=inttostr(screen.width);
label5.caption:=inttostr(screen.height);
end;
procedure Taufloesung3.Button3Click(Sender: TObject);
var
I: Integer;
begin
ScreenWidthDev:=strtoint(edit1.text);
ScreenHeightDev:=strtoint(edit2.text);
label4.caption:=edit1.text;
label5.caption:=edit2.text;
For I := 0 to Screen.FormCount-1 do
formscale(Screen.Forms[I]);
For I := 0 to Screen.FormCount-1 do
screen.forms[i].visible:=false;
showmessage('Please Wait until Form is closed');
end;
end.
Screenshot beigefügt, falls jemand an dieser Problemlösung teilhaben möchte.
Habt dank an alle, die mir geschrieben haben.
Gruss
Spargeltarzan