Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите расположить текст вертикально. [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Axenow ©   (2002-04-21 12:41:00) 

Есть программа она должна выводить огромное количество отчетов, и часть отчетов должны иметь текст, который повернут на 90 градусов.... Пользуюсь QuickRep, но если надо пересяду на другие компоненты по отчетам..
ОЧЕНЬ НАДО!


Andrey007   (2002-04-23 09:35:00) [1]

function CreateRotatedFont(F: TFont; Angle: Integer): hFont;
{-create a rotated font based on the font object F}
var LF: TLogFont;
begin
FillChar(LF, SizeOf(LF), #0);
with LF do
begin
lfHeight := F.Height;
lfWidth := 0;
lfEscapement := Angle*10;
lfOrientation := 0;
if fsBold in F.Style then lfWeight := FW_BOLD
else lfWeight := FW_NORMAL;
lfItalic := Byte(fsItalic in F.Style);
lfUnderline := Byte(fsUnderline in F.Style);
lfStrikeOut := Byte(fsStrikeOut in F.Style);
lfCharSet := RUSSIAN_CHARSET;
StrPCopy(lfFaceName, F.Name);
lfQuality := DEFAULT_QUALITY; {everything else as default}
lfOutPrecision := OUT_DEFAULT_PRECIS;
lfClipPrecision := CLIP_DEFAULT_PRECIS;
case F.Pitch of
fpVariable : lfPitchAndFamily := VARIABLE_PITCH;
fpFixed : lfPitchAndFamily := FIXED_PITCH;

else lfPitchAndFamily := DEFAULT_PITCH;
end
end;
Result := CreateFontIndirect(LF);
end;

procedure RotateTextOut(Text: String; X,Y,Angle: Integer; Canva: TCanvas);
begin
Canva.Font.Handle:=CreateRotatedFont(Font,Angle);
Canva.TextOut(X,Y,Text);
Canva.Font.Handle:=CreateRotatedFont(Font,0);
end;

Поворачивает только векторные шрифты (True Type). А вообще есть компоненты, в которых есть возможность выводить текст под углом - типа TLabel и т.д.


Anatoly Podgoretsky   (2002-04-21 12:45:00) [2]

На сайте производителя


Наверх

Титульная страница Поиск, карта сайта Написать письмо