Bestimmung der Schriftgröße mit dem .Net CompactFramework

14/02/2009 - 16:56 von Michael | Report spam
Hi NG,

ich würde gerne für das Setzen der Höhe eines Controls (z.B. Label,
TextBox) die Größe der Schrift wissen. Dies kommt daher, da die
gesetzte Größe für die Controls nicht immer bei jedem Device stimmt.
Deshalb möchte ich beim Initialisieren die Höhe mit Hilfe der Schrift
bestimmen.

Gibt es eine Möglichkeit beim CompactFramework das Control
entsprechend der Schrift anzupassen? (Habe bis jetzt auch vergebens
nach einer Funktion wie GetTextMetrics(...) gesucht.)

Momentan benutze ich

e.Graphics.MeasureString(text, font);

in OnPaint um die Größe zu bestimmen, da es Font.MeasureString(...)
nicht gibt. Da ich diese Lösung alles andere als schön finde, hoffe
ich auf Eure Hilfe.

Vielen Dank!

Gruß
Michael

PS: Bin schon fast am verzweifeln.
 

Lesen sie die antworten

#1 Carsten Unterberg
18/02/2009 - 09:45 | Warnen spam
Hallo Michael,

ich würde gerne für das Setzen der Höhe eines Controls (z.B. Label,
TextBox) die Größe der Schrift wissen. Dies kommt daher, da die
gesetzte Größe für die Controls nicht immer bei jedem Device stimmt.
Deshalb möchte ich beim Initialisieren die Höhe mit Hilfe der Schrift
bestimmen.

Gibt es eine Möglichkeit beim CompactFramework das Control
entsprechend der Schrift anzupassen? (Habe bis jetzt auch vergebens
nach einer Funktion wie GetTextMetrics(...) gesucht.)

Momentan benutze ich

e.Graphics.MeasureString(text, font);

in OnPaint um die Größe zu bestimmen, da es Font.MeasureString(...)
nicht gibt. Da ich diese Lösung alles andere als schön finde, hoffe
ich auf Eure Hilfe.



Graphics.MeasureString ist mit .Net Compact Framework-Mitteln die einzige
Funktion, mit der Du die Größe einer Zeichenkette ermitteln kannst. Wenn Du
jedoch die eine oder andere Funktion aus dem Api mittels P/Invoke
einbindest, bekommst Du mehr geboten. Hier mal eine Idee von José Gallardo
Salazar:

[Multi-line Graphics.MeasureString implementation on .Net CF]
http://www.mobilepractices.com/2007...tring.html

Vielleicht hilft es Dir ja, zum einen technisch oder zum anderen bei der
Einsicht, das es machmal keinen anderen oder besseren Weg gibt.
Bei Fragen einfach noch mal melden.

MfG

Carsten Unterberg | Test-Framework
http://test-framework.blogspot.com/

Ähnliche fragen