Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   MS Visual C Pixelmaß vs. Delpi-Pixelmaß (https://www.delphipraxis.net/66454-ms-visual-c-pixelmass-vs-delpi-pixelmass.html)

Thomas233 29. Mär 2006 22:03


MS Visual C Pixelmaß vs. Delpi-Pixelmaß
 
Hallo,

ich bräuchte bitte dringend eure Hilfe (eines vorweg: es handelt sich um ein C <=> Delphi Problem :-D).

Und zwar arbeite ich an einem C-Projekt bei dem die VCL von Delphi als Grundlage für das GUI des Programmes verwendet wird (in Dll).

Die Dialoge habe ich (bzw. das Team) mit MS Visual C 2005 erstellt und als Ressourcen-Skript (*.rc) abgespeichert.

Diese Ressourcenskript-Datei wird nun im C-Programm geparst und darauf aufbauend wird der Dll mitgeteilt welche Steuerelemente wo erstellt werden sollen.

Die Verwaltung übernimmt dabei nur die VCL, im C-Programm werden sozusagen nur die Informationen für das Interface aufbereitet.

Ein grosses Problem dabei, und das ist der eigentlich Grund warum ich eure Hilfe brauche, sind die Abmessungen die in dem Ressourcenskript angegeben sind.

Diese entsprechen nicht dem Maß das Delphi heranzieht (wenn z.b. ein Element im Ressourcenskript eine Breite von "300" hat dann wäre das in Delphi ca. 150-160 Pixel).

Wenn ich jetzt natürlich die Infos aus dem Ressourcensrkipt 1:1 übernehme und diese an die VCL übergebe dann wird der Dialog ca. um die Hälfte verkleinert (verglichen mit der Darstellung im C-Dialogeditor) angezeigt.

Das wäre natürlich nicht im Sinne dessen was ich eigentlich wollte (*g* netter Satz).

Ich habe in einem Delphi-WinApi-Tutorial gelesen das die beiden Entwicklungsumgebungen bei den Maßen irgendwie anders rechnen. Leider wurde nicht erklärt wie die Unterschiede genau aussehen.

DESHALB MEINE FRAGE: Wie "rechnet" MS Visual C und wie "rechnet" Delphi die Pixelmaße bzw. gibt es einen festgelegten Umrechnungsfaktor ??

Vielen Dank schonmal im voraus !

Gute Nacht...

Lg,
Thomas

Flocke 29. Mär 2006 22:50

Re: MS Visual C Pixelmaß vs. Delpi-Pixelmaß
 
In Ressourcendateien wird in "Dialogeinheiten" gerechnet.

Nimm dazu die Höhe der Dialogschrift und die Breite der Zeichen "a-zA-Z" (alle 52 ausgeschrieben) dividiert durch 52.

1/4 der Breite ist das Maß für die Umrechnung der X-Koordinaten / Breiten.
1/8 der Höhe ist das Maß für die Umrechnung der Y-Koordinaten / Höhen.

Es gibt auch eine API-Funktion (MapDialogRect), die die Koordinaten umrechnet. Allerdings muss das Fenster auf WM_GETFONT die richtige Schrift zurückliefern.

Thomas233 30. Mär 2006 17:55

Re: MS Visual C Pixelmaß vs. Delpi-Pixelmaß
 
Jau, danke, hat mehr oder weniger geklappt. Vielen Dank nochmal Flocke !


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:22 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