optimale Breite einer Textbox
Verfasst: Di, 02.11.2004 11:41
Hallo,
ich möchte zur Laufzeit auf einem Basic-Dialog eine Textbox erstellen - soweit kein Problem. Nun soll jedoch die Breite der Textbox so gewählt werden das ein bestimmter, vorher nicht bekannter, Text dort "reinpaßt". Also suche ich so etwas wie eine Funktion zum Einstellen der optimalen Breite der Textbox. Ich kann zwar per Code die Schriftart einstellen und könnte dann für bekannte Schriftarten eine Näherungslösung ermitteln (Näherungslösung weil ich bei Proportionalfonts sehr viele verschiedene Buchstabenbreiten berücksichtigen müßte ...) problematisch ist die Sache aber wenn ich auf einem unbekannten Zielsystem bin und (vorher) nicht weiß welche Fonts überhaupt verfügbar sind (sein werden).
Ein Fixed-Font würde es etwas vereinfachen, jedoch bleibt das Problem das ich nicht weiß ob dieser auf dem Zielsystem verfügbar ist. Ich sehe im Weiteren auch keine Möglichkeit aus dem Namen eines Fonts darauf zu schließen ob er fix oder proportional ist wenn ich den Font nicht schon vorher kenne und bin nicht sicher ob bei einem Fixed-Font die Zeichen alle so hoch wie breit sind (natürlich ist die Breite aller Zeichen gleich). Ich nehme das nicht an da Courier deutlich breiter wirkt als Courier New.
Meine jetzige Überlegung ist auf dem System einen Font zu ermitteln (meinetwegen den als Standard für die Textbox verwendeten Font, welcher in den Einstellungen des Systems verankert ist) dann meinen Text in eine Calc-Zelle einzutragen, diese Zelle auf optimale Breite zu stellen, diese Breite auszulesen und unter Verwendung eines Korrekturfaktors basierend auf der ausgelesenen Breite die Breite der Textbox festzulegen.
Das ist arg kompliziert. Hat jemand eine andere Lösung oder Anregung?
Gruß
Stephan
ich möchte zur Laufzeit auf einem Basic-Dialog eine Textbox erstellen - soweit kein Problem. Nun soll jedoch die Breite der Textbox so gewählt werden das ein bestimmter, vorher nicht bekannter, Text dort "reinpaßt". Also suche ich so etwas wie eine Funktion zum Einstellen der optimalen Breite der Textbox. Ich kann zwar per Code die Schriftart einstellen und könnte dann für bekannte Schriftarten eine Näherungslösung ermitteln (Näherungslösung weil ich bei Proportionalfonts sehr viele verschiedene Buchstabenbreiten berücksichtigen müßte ...) problematisch ist die Sache aber wenn ich auf einem unbekannten Zielsystem bin und (vorher) nicht weiß welche Fonts überhaupt verfügbar sind (sein werden).
Ein Fixed-Font würde es etwas vereinfachen, jedoch bleibt das Problem das ich nicht weiß ob dieser auf dem Zielsystem verfügbar ist. Ich sehe im Weiteren auch keine Möglichkeit aus dem Namen eines Fonts darauf zu schließen ob er fix oder proportional ist wenn ich den Font nicht schon vorher kenne und bin nicht sicher ob bei einem Fixed-Font die Zeichen alle so hoch wie breit sind (natürlich ist die Breite aller Zeichen gleich). Ich nehme das nicht an da Courier deutlich breiter wirkt als Courier New.
Meine jetzige Überlegung ist auf dem System einen Font zu ermitteln (meinetwegen den als Standard für die Textbox verwendeten Font, welcher in den Einstellungen des Systems verankert ist) dann meinen Text in eine Calc-Zelle einzutragen, diese Zelle auf optimale Breite zu stellen, diese Breite auszulesen und unter Verwendung eines Korrekturfaktors basierend auf der ausgelesenen Breite die Breite der Textbox festzulegen.
Das ist arg kompliziert. Hat jemand eine andere Lösung oder Anregung?
Gruß
Stephan