Autor Beitrag
LingNeu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21

XP Pro
Delphi 7 Enterprise
BeitragVerfasst: Sa 06.02.10 17:03 
Hallo Delphifreunde,
bin seit Stunden auf der Suche nach einer Möglichkeit, relativ einfach eine vorhandene Applikation in der Auflösung zu verändern.
Die vorhandene App hat eine Auflösung von 800x600 Punkten und besteht aus vielen hundert Komponenten.
Ich muss unbedingt in den nächsten Tagen eine Anpassung für einen Monitor mit 1920x1200 hinbekommen.
Die Beispielcodes, welche ich gefunden habe, bringen mich in Zeitnot, da ich jede visuelle Komponente neu nach dem vorhandenen Bildschirm berechnen muss. ScaleBy habe ich bereits probiert - haut leider bei dem BS nicht hin, da gibt es starke Verzerrungen.

Kennt jemand von Euch eine Komponente welche unter D7 Enterprise läuft und allgemein eine Art Zoom/Resize für eine vorhandene Form anbietet. Kauf- oder Freeware ist egal.
Vielleicht hat auch noch jemand eine andere Idee.
Wäre für jeden Hinweis sehr dankbar!

Gruss
LingNeu
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Sa 06.02.10 17:49 
Wir haben D6 um mit dem Formularproperty Scaled=True und passenden Arbeiten mit Aligned Panels ist auslösungsschirmunabhänige Anwendungen mit Delphi kein Problem. Aber es gibt ein paar Fallstricke.
Hast du ein fehlerhaften Beispielscreen?
LingNeu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21

XP Pro
Delphi 7 Enterprise
BeitragVerfasst: Sa 06.02.10 18:34 
hallo Bernhard,
ich habe folgendes Beispiel irgendwo bekommen, da habe ich aber immer auf der rechten Seite Probleme, ebenso mit den Elementen nach der unteren Fensterseite hin. Leider kenne ich keine Komponente, die sowas unter D7 machen könnte. Da wäre dann vielleicht recht schnell eine Lösung möglich.

Ich hänge mal die Original-Form als Bild und das Ergebnis ran.


Folgender Source steckt dahinter ...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
procedure TForm1.FormCreate(Sender: TObject);
begin
  MaximizeAndScale;
end;

procedure TForm1.MaximizeAndScale;
var
  sWidth: Double;
  sHeight: Double;
begin
  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;
end;

end.
Einloggen, um Attachments anzusehen!