поставить компонент
Через Label текст будет обрезан. Через Canvas выводи. Вот функция:
procedure DrawStreet(Canvas: TCanvas; X, Y: integer; Street: string);
var
LogFont: tagLOGFONT;
Font: HFONT;
OldFont: HFONT;
begin
FillChar(LogFont, SizeOf(LogFont), 0);
with LogFont do
begin
lfHeight := 20;
lfWeight := fw_Normal;
lfEscapement := 900; //Тут градусы (900 = 90 градусов)
StrPCopy(lfFaceName, 'Courier New Cyr');
end;
Font := CreateFontIndirect(LogFont);
OldFont := Canvas.Font.Handle;
Canvas.Font.Handle := Font;
Canvas.TextOut(X, Y, Street);
Canvas.Font.Handle := OldFont;
DeleteObject(Font);
end;
Никак. И + непонятно: ИМХО карту Вы будете рисовать, на Canvas, а как будете класть туда Label?
Скачайте GR32, бесплатную, рисуйте там карту, а текст там можно поворачивать.
Напиши его наследника, в котором будет свойство поворота и соотв. его реализация.
Другой вариант - использовать FireMonkey, там такое свойство есть у всех компонентов. Правда, не у всех оно корректно работает.