StringGrid Zellenhöhe auf Schriftart anpassen



  • Hallo,
    habe ein kleines Problem mit TStringGrid.
    Habe ein Text in einer Zelle. Die Schriftgröße in den Zellen ist immer gleich. Möchte nun, dass die Zellenhöhe sich optimal der Schriftgröße anpasst und gleichzeitig die Schrift daher immer Zentral zwischen Zelldecke und Zellboden ist.
    Wie bekomme ich das hin?



  • Hallo

    Mit TCanvas::TextHeight(...) kannst du die Fonthöhe für den aktuellen Font in der aktuellen Fontgrösse ermitteln. Du must einfach nur einen String übergeben, der die höchsten Zeichen enthält.
    Diese Bestimmung machst du einmal pro Schriftgröße (wenn sich die Schriftgröße während der Laufzeit nicht ändert, eben nur einmal bei Programmstart), und übergibst den Wert zuzüglich oberen und unteren Rand an TStringGrid::DefaultRowHeight.

    Dann solltest du vielleicht noch den Event TDrawGrid::OnDrawCell benutzen, um in der konkreten Zelle den Text deinen Wünschen entsprechend auszurichten.

    bis bald
    akari



  • Super, danke dir.


Anmelden zum Antworten