AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Form mit Bildschirm Auflösung anpassen
Thema durchsuchen
Ansicht
Themen-Optionen

Form mit Bildschirm Auflösung anpassen

Ein Thema von Delphiturbo · begonnen am 5. Jun 2008 · letzter Beitrag vom 5. Jun 2008
Antwort Antwort
Delphiturbo
(Gast)

n/a Beiträge
 
#1

Form mit Bildschirm Auflösung anpassen

  Alt 5. Jun 2008, 13:02
Hallo

einige Kunden verwenden entweder auf gösse Bildschirm-Auflösung oder Sie haben
einen Großen Bildschirm (ab 19 zoll).

Meine Programm-Größe ist damit zu klein, darum wollen die Leute gerne das Programm
skalieren (vergrößern) !

Wer gibt mir einen Tipp, um in solchen Fällen, die Möglichkeit dem User geben
das Programm auf seinen Bildschirm anpassen zu können ?

Mit dem Code z.B. wird auf Form liegende Objekte skaliert auch Webbrowser:
Delphi-Quellcode:
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.01), Width);
  end
  else
  begin
    ScaleBy(Round(Screen.MonitorFromWindow(Handle).Height * 1.01), Height);
  end;
  WindowState := wsMaximized;

// nun webbrowser Inhalt zoomen:
WebBrowser1.OleObject.Document.Body.Style.Zoom := 1.25{Zoomfaktor};

end;
Das Problem in Code, es gibt 2 Zoomfaktoren:
Einer skaliert Delphi-Objekte
Anderer skaliert (zoomt) Webbrowser Content
Manch mal wird die Zoomfaktoren nicht identisch

Darum suche ich eine andere Lösung
Miniaturansicht angehängter Grafiken
formscale_webbrowserscale_177.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Form mit Bildschirm Auflösung anpassen

  Alt 5. Jun 2008, 18:38
HI,

dein erstes Problem löst du ganz einfach mit Anchors (OI). Dem Webbrowser kannst du wie alle anderen Komponenten mit .ScaleBy vergrößern/verkleinern. Deinen Code versteh ich nicht ganz. Du kannst aber im OI die Eigenschaft WindowState auf wsMaximized setzen und durch die Anchor-Vergrößerung wandern die Komponenten mit.


rollstuhlfahrer

EDIT: Das Bild dazu ist nicht gerade verständlich
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#3

Re: Form mit Bildschirm Auflösung anpassen

  Alt 5. Jun 2008, 19:18
Ich habe nun einen anderen Code genommen
Nun klappt
Delphi-Quellcode:
  ScaleBy(120, 100); /120%
  Form1.Width:=(form1.Width) + (form1.Width div 5);
  Form1.Height:=(form1.Height) + (form1.height div 5);
  WebBrowser1.OleObject.Document.Body.Style.Zoom := 1.2; // 120%
jetzt habe ich mindestens den selben Zoomfaktor
Ich habe ein kleines Problem:
Bei ScaleBy(); wird nur Integer akzeptiert !

Ich muss meine Form gross wie Möglich skalieren
d.h. die neue Breite der Form : Form1.Width:=IntToStr(Screen.MonitorFromWindow(Han dle).Width)
und dann kann ich den Zoomfaktor berechnen :
Zommfaktor = (Screen.MonitorFromWindow(Handle).Width * 100) div Form1.Width

wie kann ich diese Form in Delphi eingeben, da er nur Integer akzeptiert?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Form mit Bildschirm Auflösung anpassen

  Alt 5. Jun 2008, 19:28
Schau Dir mal round() und trunc() an.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#5

Re: Form mit Bildschirm Auflösung anpassen

  Alt 5. Jun 2008, 19:35
Zitat von DeddyH:
Schau Dir mal round() und trunc() an.
danke
das kann mir helfen um die Sache zu vereinfachen :
Delphi-Quellcode:
   Round(12.75) = 13
   Trunc(12.75) = 12
     Int(12.75) = 12
   Frac(12.75) = 0.75
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz