in einer Tabelle hab ich ein Textfeld, dass von der Größe her fix sein MUSS.
Manche der hohen Herren wollen da mehr reinschreiben, als Platz ist - diejenigen, die mit dem Platz auskommen, wollen keine kleine Schrift. (Psychologische Diskussionen hab ich schon hinter mir.)
Nun war meine Überlegung:
Wenn in das Textfeld mehr Zeilen geschrieben werden, als Platz haben, dann reduziere ich die Font.Size.
Wenn in das Textfeld weniger Zeilen geschrieben weren, als Platz haben, dann erhöhe ich die Font.Size.
Zu diesem Zweck hab ich mir den unterschiedlichen Platzbedarf (Height) der verwendeten Font.Sizes ermittelt.
z.B. FontSize 9.75 (Arial 10) - die erste Zeile im Textfeld benötigt Height=18 jede weitere Zeile Height=12
Daraus ermittle ich die mögliche Anzahl an Zeilen im Textfeld und vergleiche sie mit der tatsächlichen Zeilenanzahl. Dementsprechend erhöhe bzw. verringere ich die Font.Size und knapp vor der Unlesbarkeit erscheint "Text Overflow".
Allerdings gerate ich dann bei manchen Textfeldgrößen in eine "Doppelmühle": Mit einem Tastenanschlag wird der Zeichensatz kleiner, mit dem nächsten größer, mit dem nächten kleiner, mit dem nächsten größer .... bis man die "Doppelmühle" verlässt und im kleiner Zeichensatz weiterschreibt.
Ich hab mich in meinem Denkmuster schon so verstrickt, dass ich das Problem noch lösen könnte, indem ich das Ereignis "Textbox_Change" aufblase - aber eine vernünftige bzw. elegante Lösung ist mir wesentlich lieber.
Ich wünsche viel Spass beim tüfteln und freue mich auf eine Lösung.
Hermann