Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem mit Bildschirmauflösung (https://www.delphipraxis.net/182259-problem-mit-bildschirmaufloesung.html)

Natcree 14. Okt 2014 00:20

Problem mit Bildschirmauflösung
 
Hallo habe ein Programm geschrieben. An meinem Laptop mit einer Auflösung von 1680 x 1050 . Wenn ich das Programm auf einem anderen Rechner starte mit einer anderen Auflösung dann verschieben sich Button schriftgrößen und in einigen Fällen muss in der Form Runtergescrollt werden.
1. Gibt es dafür eine Lösung? Habe ein 2. Laptop mit ner Auflösung von 1600 x 900.
2. Erstelle mit pdfhdr.pas pdf dateien auf meinem Programier Rechner sehen sie gut aus und auf dem anderen wird Text über den rechten Rand geschoben.

Ich weiss mir bei beiden Punkten nicht zu helfen. Hat jemand einen Tip?

Captnemo 14. Okt 2014 06:07

AW: Problem mit Bildschirmauflösung
 
Dafür sind auf dem Rechner, wo es falsch angezeigt wird, die in der anzeigeeinstellungen festgelegte Schriftgröße verantwortlich. Vermutlich ist die dort auf größer als normal eingestellt.

Bernhard Geyer 14. Okt 2014 07:36

AW: Problem mit Bildschirmauflösung
 
Zu 1: Indem man es richtig macht. Bei D7 wird das Alignment der Control mit Right und/oder Bottom nicht richtig funktionieren. Hier muss man mit Right/Bottom-Aligned Hilfspanels arbeiten

Zu 2: Embeddest du die Fonts die du verwendest auch ein?

ExceptionOverflow 14. Okt 2014 08:36

AW: Problem mit Bildschirmauflösung
 
Nur zu 1:
Man sollte / muss / darf immer darauf achten, - wenn möglich - keine festen Größen und Platzierungen zu verwenden sondern immer im "Verhältnis" setzen, also wie schon vor mir geschrieben wurde mit den Alignments arbeiten, dann spielt auch die Fenstergröße und Auflösung keine Rolle. In Delphi ist das (meiner Meinung nach) etwas komplizierter, da man hier oft noch zusätzlich(e) panels einsetzen muss.

himitsu 14. Okt 2014 08:59

AW: Problem mit Bildschirmauflösung
 
Zitat:

Zitat von ExceptionOverflow (Beitrag 1275814)
da man hier oft noch zusätzlich(e) panels einsetzen muss.

In "aktuelleren" Delphis läuft es besser (nach XE), da dort so Einiges repariert, bzw. an die Eigenarten neuerer Windowse angepasst wurde.
So wurde z.B. früher die Fenstergröße (Width/Height) gespeichert, anstatt die Größe des Inhalts (ClientWidth/ClientHeight), was probleme bereitete, wenn auf unterschiedlichen Systemen die Rahmen und Titelleisten unterschiedlich groß sind.

Beim Align rechts und unten wurde dann oftmals die Größe beim Laden "angepasst", anstatt das Align neu zu berechnen, weswegen die Komponenten dann gern mal kleiner wurden.

usw.


Beim FMX hat man für's gruppieren z.B. das TLayout erfunden. (was man natürlich in der VCL nicht reingemacht hat, aber in der VCL kann man ja noch von Panels den Rahmen ausblenden und Diese verwenden)

Bei bestimmten unverständlichen Konstellationen muß man aber immernoch Hand anlegen, bei Align rechts/unten und im OnCreate die Größe manuell nochmal setzen.

Bjoerk 14. Okt 2014 10:55

AW: Problem mit Bildschirmauflösung
 
Zitat:

Zitat von Natcree (Beitrag 1275788)
2. Erstelle mit pdfhdr.pas pdf dateien auf meinem Programier Rechner sehen sie gut aus und auf dem anderen wird Text über den rechten Rand geschoben. [..]

Aus den 72 mal 96 gemacht bzw. hat dein Laptop eine andere Auflösung als 96?

Natcree 14. Okt 2014 12:17

AW: Problem mit Bildschirmauflösung
 
Problem 1 mit der AUflösung habe ich hinbekommen. nunmehr fehlt noch probl. 2

Also auf meinem Laptop erstellt er die pdf dateien mit rolepdf hier ist auch alles gut jedoch auf dem client rechner schiebt er im Briefkopf die Schrift über den rechten rand.

Delphi-Quellcode:
      {Briefkopflinie oben}
      Font.Size := 6;
      Pen.Color := clblack;
      MoveTo(100, 220);
      LineTo(PageWidth - 100, 220);
      Font.Size := 8;
      TextOut(120,225,dbmemo1.Lines[0]);
      TextOut(270,225,dbmemo1.Lines[1]);
      TextOut(420,225,dbmemo1.Lines[2]);//bis hier ist alles Gut
      TextOut(660,225,'Vorsitzender:');// ab hier verschiebt er den text nachrechts
      TextOut(760,225,form4.ClientDataSet1Vorname.AsString+' '+form4.ClientDataSet1Nachname.asstring);
      TextOut(660,240,'Telefon:');
      TextOut(760,240,form4.ClientDataSet1Telefonnummer.AsString);
      TextOut(660,255,'Email:');
      TextOut(760,255,form4.ClientDataSet1email.AsString);

p80286 14. Okt 2014 12:26

AW: Problem mit Bildschirmauflösung
 
Zitat:

Zitat von Natcree (Beitrag 1275788)
1. Gibt es dafür eine Lösung?

Ja, selber machen!

Alle automatischen "Lösungen" taugen wenig bis nichts. Insbesonders scaled ist da etwas eigenwillig.

Zitat:

Zitat von Natcree (Beitrag 1275788)
2. Erstelle mit pdfhdr.pas pdf dateien auf meinem Programier Rechner sehen sie gut aus und auf dem anderen wird Text über den rechten Rand geschoben.

Was meinst Du damit?
Im allgemeinen sind PDF-Dateien geräteunabhängig. Denen ist es herzlich egal welchen Monitor Du benutzt.

Gruß
K-H

Nachtrag:
Dein Sourcecode legt die Vermutung nahe, daß Du über einen Druckertreiber die PDF-Datei erstellst. Welches Papierformat ist denn für den Drucker eingestellt?

Natcree 14. Okt 2014 12:49

AW: Problem mit Bildschirmauflösung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Im allgemeinen sind PDF-Dateien geräteunabhängig. Denen ist es herzlich egal welchen Monitor Du benutzt.
deswegen wundere ich mich ja auch. woran kann es denn liegen das er auf dem anderen rechner über den randschreibt
siehe Bild

Natcree 14. Okt 2014 12:52

AW: Problem mit Bildschirmauflösung
 
mir ist ausserdem noch etwas aufgefallen statt dem eurozeichen zeichnet er ein kleines Quadrat


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 Uhr.
Seite 1 von 2  1 2      

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