![]() |
TVirtualStringTree Header Text senkrecht 90° gedreht
Hallo,
Wenn man ein TVirtualStringTree mit sehr vielen Spalten hat, kann es von Vorteil sein die Überschriften senkrecht um 90° gedreht darzustellen. Versucht habe ich es so:
Delphi-Quellcode:
Beim Header habe ich auch die Option OwnerDraw auf true gesetzt. Jedoch sieht alles so wie vorher aus. Sprich waagerechte Schrift.
procedure TForm.vstHeaderDraw(
Sender: TVTHeader; HeaderCanvas: TCanvas; Column: TVirtualTreeColumn; R: TRect; Hover, Pressed: Boolean; DropMark: TVTDropMarkMode); var lf: TLogFont; tf: TFont; re, bt: Integer; begin tf:=TFont.Create; try tf.Assign(Font); GetObject(tf.Handle, sizeof(lf), @lf); lf.lfEscapement:=900; lf.lfOrientation:=0; tf.Handle:=CreateFontIndirect(lf); HeaderCanvas.Font.Assign(tf); finally tf.Free; end; re := R.Right; bt := R.Bottom; R.Right := bt; R.Bottom := re; HeaderCanvas.FillRect(R); HeaderCanvas.TextRect(R, R.Left + 2, R.Bottom - 2, Column.Text); end; Hat schon mal jemand den Text im Header senkrecht dargestellt und kann mir bei meinem Problem weiter helfen? Danke |
Re: TVirtualStringTree Header Text senkrecht 90° gedreht
Hallo,
ohne deinen Code genau zu untersuchen: hast du eine TrueType-Schriftart verwendet? Nur diese können über die Windows-API gedreht werden. Gruß Hawkeye |
Re: TVirtualStringTree Header Text senkrecht 90° gedreht
Liste der Anhänge anzeigen (Anzahl: 1)
Im Header ist MS Sans Serif. Aber auch wenn das keine sein sollte, mit Arial geht es auch nicht.
Bei Debuggen wird nicht mal die vstHeaderDraw aufgerufen. Ich dachte, wenn man die Option OwnerDraw beim Header auf true setzt, sollte das eigentlich passieren? Woran kann das liegen? Edt: Anbei mal ein Testprojekt. Dort funktioniert das Drehen der Schrift auf einem Form. Die Frage bleibt also warum wird die onHeaderDraw Methode nicht auf gerufen. |
Re: TVirtualStringTree Header Text senkrecht 90° gedreht
Zitat:
|
Re: TVirtualStringTree Header Text senkrecht 90° gedreht
Zitat:
Danke, damit werde ich weiter kommen denke ich. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz