Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.24;
Скачать: CL | DM;

Вниз

Печать из делфи (вертикально)   Найти похожие ветки 

 
Shrek ©   (2002-10-12 20:01) [0]

Народ помогите напечатать текст вертикально.


 
Pat ©   (2002-10-12 22:01) [1]

Если используешь QReport - альбомное расположение листа


 
Song ©   (2002-10-13 10:31) [2]

В каком компоненте? или на принтер?


 
Shrek ©   (2002-10-13 15:41) [3]


> Pat
Есть тектс горизонтальный и вертикальный на одном листе!


> Song
На принтер!!



 
Song ©   (2002-10-13 15:53) [4]

TCanvas.TextOut()


 
Shrek ©   (2002-10-13 16:00) [5]


> Song
TCanvas.TextOut() - мы наверно не понимаем друг друга и это моя вина, надо текст повернуть на 90 градусов.


 
alxx ©   (2002-10-13 16:03) [6]

Вот. Списал кое-откуда, но не пробовал работает ли.

var
Hfont: Thandle;
logfont:TLogFont;
font: Thandle;
count: integer;
begin

LogFont.lfheight:=30;
logfont.lfwidth:=10;
logfont.lfweight:=900;
LogFont.lfEscapement:=-200;
logfont.lfcharset:=1;
logfont.lfoutprecision:=out_tt_precis;
logfont.lfquality:=draft_quality;
logfont.lfpitchandfamily:=FF_Modern;


font:=createfontindirect(logfont);


Selectobject(Form1.canvas.handle,font);


SetTextColor(Form1.canvas.handle,rgb(0,0,200));
SetBKmode(Form1.canvas.handle,transparent);


{textout(form1.canvas.handle,10,10,"Повернутый",7);}

for count:=1 to 100 do
begin
canvas.textout(Random(form1.width),Random(form1.height),"Повернутый");

SetTextColor(form1.canvas.handle,rgb(Random(255),Random(255),Random(255)));

end;

deleteobject(font);

end;


 
Shrek ©   (2002-10-13 17:12) [7]

>> alxx Большое спасибо тебе, проси шо хоч.

немного поработал и получилось процедура:

procedure TextOutVer(x, y: Integer; Text: String; Rotate: Integer);
var
Hfont: Thandle;
LogFont: TLogFont;
Font: Thandle;
begin
Logfont.lfUnderline := 0;
Logfont.lfStrikeOut := 0;
Logfont.lfItalic := 0;
Logfont.lfWeight := 5;
Logfont.lfHeight := 100;

Logfont.lfwidth := 0;
LogFont.lfEscapement := Rotate * 10;
Logfont.lfcharset := 1;

Font := CreateFontIndirect(LogFont);

Printer.BeginDoc;
Selectobject(Printer.Canvas.Handle, Font);
Printer.Canvas.textout(x, y, Text);
Printer.EndDoc;
Deleteobject(Font);
end;


здесь можно делать много настроек.
это для принтера, а для формы тоже самое главное выбрать handle.

Использование:

TextOutVer(1000, 1000, "Этот текст пичатается по углом 45 градусов", 45);



Страницы: 1 вся ветка

Текущий архив: 2002.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
1-78369
sascha
2002-10-15 07:17
2002.10.24
Поясните код.


3-78271
RDA
2002-10-02 11:44
2002.10.24
Штатное расписание


4-78738
ALexe K
2002-09-12 16:06
2002.10.24
как перейти к главному меню проги программно


6-78567
dnsokol
2002-08-23 10:09
2002.10.24
DialUp VS пастоянное соединение (вопрос жизни и смерти)


3-78313
Igoryan
2002-10-04 10:25
2002.10.24
Ошибка при работе с SQL Server