Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Probleme mit Skalierung (DPI) bei - zur Laufzeit erstellter - Controls

  Alt 4. Nov 2014, 00:26
Beim Laden der DFM wird, wenn die Skalierungsoption aktiv ist, nach dem Laden jeder Positions-Wert umgerechnet, also die Komponenten bekommen die skallierten Werte zugewiesen.

Wenn du nun manuell Komponenten erstellst, dann mußt du das ebenfalls selber entsprechend umrechnen.


Eventuell kann man die Delphi-Skalierungsfunktion für seine Komponenten manuell aufrufen, nach dem Erstellen. (falls sie auf einzelne Komponenten angewendet werden kann und vorallem wenn sie nicht privat ist)


Deine Erwartung ist also falsch, da man die Komponentenposition in physikalischen Pixeln und nicht in logischen Pixeln angibt.
Das ist vorallem krank, wenn man seinen Code versioniert und den auf einem anderem Rechner mit anderer Skalierung öffnet, dann wird die ganze DFM umgeschrieben, wenn man dort speichert.

Bei FMX mag das eventuell anders sein, da man dort einen Skalierungsfaktor "unabhängig" von den Positionsangaben einstellen kann, also dort mit einer logischen Position.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 4. Nov 2014 um 00:29 Uhr)
  Mit Zitat antworten Zitat