![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать текста развернутого на 90 градусов [D7, XP]
WestNik © (2008-02-19 18:30:00)Здравствуйте мастера.
Не могу никак решить проблему. Нужно распечатать StringGrid. В некоторых ячейках текст повернут на 90 градусов, а когда отправляю на печать он не разворачивается. Использую тот же код для разворота, что и в StringGrid'е
for i=...
for j=...
begin
s := Grid.Cells[i, j];
with Printer.Canvas do
begin
Font.Name := 'ARIAL';
Font.Size := 8;
Font.Color := clBlack;
tf := TFont.Create;
try
tf.Assign(Font);
GetObject(tf.Handle, SizeOf(lf), @lf);
lf.lfEscapement := 900;
lf.lfOrientation := 0;
tf.Handle := CreateFontIndirect(lf);
Font.Assign(tf);
finally
tf.Free;
end;
FillRect(Rect);
DrawText(DestCanvas.Handle, PChar(s), Length(s), Rect, DT_LEFT or DT_TOP or DT_WORDBREAK or DT_NOPREFIX);
end;
end;
Заранее благодарен.
WestNik (2008-02-19 19:00:00) [1]> guav
Спасибо! Помогло :)
guav (2008-02-19 18:37:00) [2]> tf.Handle := CreateFontIndirect(lf);
> Font.Assign(tf);
А если заменить на Font.Handle := CreateFontIndirect(lf); ?
{RASkov} (2008-02-19 18:37:00) [3]> [0] WestNik (19.02.08 18:30)
> with Printer.Canvas do
и
> DrawText(DestCanvas.Handle
Это что?