Vertical Font in Planneritem

I have a planner with the timeline on top and have very short items, so they are of little with, but they are of enough height to show all the items text, if the text could be displayed vertically.
Is there an easy way to do so?

If you refer to the PlannerItem.Text, there is unfortunately not a built-in way to have the text rotated. The only way would be to perform custom item drawing.

I refer mainly to PlannerItem.captiontext. But I think this will be the same.
I allreasy tried to use onplanneritemdraw, but had problems with positioning the text. I could not find out what coordinates to use with Canvas.TextOut or what other method I could use.
The Text allways was positioned elsewhere.
Could you give me some hints how to bring the text into the item's area?

Yes, positioning of rotated text with TextOut is non trivial. I believe you'll need a horiz. offset equal to height of the rotated text. Try to substract from the X-pos the height of the text.

I will give it a try.
I also testet just to set font.orientation of the item, but when setting to 900 it doesn't show anything. Just empty items.

Try playing with giving it a horiz. offset. Try to see the relationship between font orientation and x,y coordinates first on a test canvas to make it easier to see it.

It works.

I did it in PlannerItemAfterPaint. So all the painting of the Item was allready don and I only have to paint the text.

procedure TForm1.Planner1ItemAfterPaint(Sender: TObject;
  Item: TPlannerItem; ACanvas: TCanvas; ARect: TRect);

var
   s  : string;
   d : tmydataobject;

begin
if assigned (Item.ItemObject) then
   begin
   d := tmydataobject (Item.ItemObject);
   Item.Font.Orientation := 900;
   Acanvas.brush.style := bsclear;
   ACanvas.Font.Style := [fsBold];
   s := d.itemdisplaytext;
   while (not (Acanvas.textwidth(s) + 10 <= ARect.Height)) do
      delete(s, length (s) - 1, 1);
   ACanvas.TextOut(ARect.Left, ARect.Bottom - 5, s);
   ACanvas.Font.Style := [];
   end;
end;