AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Problem mit Fenster wegen Bildschirmauflösung & Schriftgröße
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Fenster wegen Bildschirmauflösung & Schriftgröße

Ein Thema von Tommy111 · begonnen am 20. Feb 2005 · letzter Beitrag vom 28. Apr 2005
Antwort Antwort
Benutzerbild von Tommy111
Tommy111

Registriert seit: 2. Nov 2004
Ort: Kirchberg
35 Beiträge
 
Delphi 6 Professional
 
#1

Problem mit Fenster wegen Bildschirmauflösung & Schriftg

  Alt 20. Feb 2005, 10:13
Moin,
ich hab ein Programm geschrieben und möchte das jetz auf einem beliebig anderen Rechner ausprobieren.
Problem dabei ist, daß nicht jeder Rechner die gleiche Bildschirmauflösung und Schriftgröße eingestellt hat. Somit wird das vorher mühevoll gestaltete Layout (Fenster) völlig durcheinander gebracht! Ich muß also plötzlich mit Bildlaufleisten hantieren, obwohl ich das nicht will!

Gibt es eine Möglichkeit mein Layout immer an die im entsprechenden Rechner eingestellte Auflösung automatisch anzupassen??

Hoffe ihr könnt mir da en Tipp geben!?
Programmieren macht Spaß..., jedoch nur wenn man das Wirrwar an Befehlen und Funktionen verstanden hat...!!
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Problem mit Fenster wegen Bildschirmauflösung & Schr

  Alt 20. Feb 2005, 10:32
Du kannst im OnShow-(oder im OnResize-, falls du auch das Verändern der Fenstergröße erlauben willst) Ereignis des Forms die Größe und Positionen der Komponenten anpassen.
Das Auslesen der Bildschirm-Auflösung geht mit screen.width bzw. screen.height.
Wie du die aktuelle Schriftgröße ermittelst, weiß ich jetzt nicht so genau. Mit der Scaled- und PixelsPerInch-Property des Forms allerdings sorgst du dafür, daß die Schriftgröße genau deinen Anforderungen entspricht.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#3

Re: Problem mit Fenster wegen Bildschirmauflösung & Schr

  Alt 20. Feb 2005, 10:57
hallo ,

folgender Code sollte das realisieren:
Delphi-Quellcode:
const
   screenwidthdev = 1250; // Einstellungen auf dem Entwicklungsrechner
   screenheightdev = 960; // dito
var
   x,y:integer;
begin
scaled := true;
   x:= Screen.width;
   y:= Screen.Height;
   if(y <> ScreenHeightDev) or (x <> ScreenwidthDev) then
     begin
        frmMain.Height := (frmMain.ClientHeight* y div ScreenHeightDev) +
                                frmMain.Height- frmMain.ClientHeight;
        frmMain.Width := (frmMain.ClientWidth * x div ScreenWidthDev) +
                                frmMain.Height - frmMain.ClientHeight;
        scaleBy(x,Screenwidthdev);
     end;
   // Achtung frmMain muss durch dein Formular ausgetauscht werden
wenn mehrere Formulare angepasst werden sollen, müssen alle Formulare in ihrem OnCreate diese procedure
aufrufen.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Problem mit Fenster wegen Bildschirmauflösung & Schr

  Alt 20. Feb 2005, 15:26
Moin!

Diese oben gepostete Methode sollte normalerweise durch eine auf True gesetzte Scale Eigenschaft der Form von alleine geschehen...

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#5

Re: Problem mit Fenster wegen Bildschirmauflösung & Schr

  Alt 20. Feb 2005, 15:35
hallo Muetze1,

habe ich ebend probiert , macht sie aber nicht.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Problem mit Fenster wegen Bildschirmauflösung & Schr

  Alt 20. Feb 2005, 16:31
Moin!

Gut, habe ich auch ebend nochmal ausprobiert - geht einwandfrei. Vorraussetzung ist, dass sich die DPI Zahl auch überhaupt ändert bei den Auflösungen.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von Tommy111
Tommy111

Registriert seit: 2. Nov 2004
Ort: Kirchberg
35 Beiträge
 
Delphi 6 Professional
 
#7

Re: Problem mit Fenster wegen Bildschirmauflösung & Schr

  Alt 21. Feb 2005, 13:53
Hallo kiar,

Zitat:
Delphi-Quellcode:
const
   screenwidthdev = 1250; // Einstellungen auf dem Entwicklungsrechner
   screenheightdev = 960; // dito
var
   x,y:integer;
begin
scaled := true;
   x:= Screen.width;
   y:= Screen.Height;
   if(y <> ScreenHeightDev) or (x <> ScreenwidthDev) then
     begin
        frmMain.Height := (frmMain.ClientHeight* y div ScreenHeightDev) +
                                frmMain.Height- frmMain.ClientHeight;
        frmMain.Width := (frmMain.ClientWidth * x div ScreenWidthDev) +
                                frmMain.Height - frmMain.ClientHeight;
        scaleBy(x,Screenwidthdev);
     end;
   // Achtung frmMain muss durch dein Formular ausgetauscht werden
hat funktioniert! Danke!
Programmieren macht Spaß..., jedoch nur wenn man das Wirrwar an Befehlen und Funktionen verstanden hat...!!
  Mit Zitat antworten Zitat
Benutzerbild von AirJordan
AirJordan

Registriert seit: 29. Mär 2005
Ort: Hamburg
214 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Problem mit Fenster wegen Bildschirmauflösung & Schr

  Alt 27. Apr 2005, 17:10
Hallo,

habe diesen Beitrag nochmal ausgegraben. Klappt bei mir auch wunderbar. Allerdings sind einige Componenten richtig angepasst und andere machen das scheinbar nicht. Was muss man bei den Property der Componenten noch beachten? Was muss auf True und was auf False stehen?
Holger
Georg Schramm über Lothar Dombrowski:
"Er krankt daran, dass die Leute in einer
schrecklichen Welt leben und lachen..."

_
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: Problem mit Fenster wegen Bildschirmauflösung & Schr

  Alt 27. Apr 2005, 23:02
Moin!

Naja, eine in den Constraints angegebene Minimumhöhe/-weite wirkt sich u.a. negativ aus und natürlich Komponenten die sich von Haus aus nicht kleiner machen lassen.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von AirJordan
AirJordan

Registriert seit: 29. Mär 2005
Ort: Hamburg
214 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Problem mit Fenster wegen Bildschirmauflösung & Schr

  Alt 28. Apr 2005, 08:44
Moin moin

ja, ich habe zB die TMS Componente AdvNavBar in das Form eingebaut. Und die Checkboxes und Eingabezeilen verschieben sich und landen zb auf die "Trennlinien" im AdvNavBar. Wobei die
Checkboxen etc auch nicht alle von TMS sind.

Mit den Constraints arbeite ich gar nicht. Dann liegt das also immer an der Componente selber.
Ok, danke für den Hinweis. Werde das dann mal weiter austesten.
Holger
Georg Schramm über Lothar Dombrowski:
"Er krankt daran, dass die Leute in einer
schrecklichen Welt leben und lachen..."

_
  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 16:48 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