![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать RichEdit
SPeller © (2004-04-16 06:37:00)Всем доброго времени суток!
У меня задача вывести содержимое RichEdit-а на контекст. Я понимаю что при печати вывод происходит на контекст принтера, поэтому мне нужно то же самое, но на какой-либо другой контекст. Что-то я сам разобраться не могу, чего ему там надо. Буду благодарен за пример или за полезные ссылки.
MBo (2004-04-16 06:54:00) [1]pixelsperinchX := GetDeviceCaps(Handle, LOGPIXELSX);
pixelsperinchY := GetDeviceCaps(Handle, LOGPIXELSY);
MBo (2004-04-16 06:50:00) [2]
uses
Richedit;
var
imagecanvas: TCanvas;
fmt: TFormatRange;
begin
imagecanvas := image1.canvas;
with fmt do
begin
hdc := imagecanvas.handle;
hdcTarget := hdc;
rc := Rect( 0, 0, imagecanvas.cliprect.right * 1440 div pixelsperinch,
imagecanvas.cliprect.bottom * 1440 div pixelsperinch);
rcPage := rc;
chrg.cpMin := 0;
chrg.cpMax := richedit1.GetTextLen;
end;
{ SetBkMode( imagecanvas.Handle, TRANSPARENT ); }
richedit1.perform( EM_FORMATRANGE, 1, integer( @fmt ));
richedit1.perform( EM_FORMATRANGE, 0, 0 );
image1.refresh;
end;
SPeller (2004-04-16 06:46:00) [3]А что даёт это сообщение, я так и не понял.
MBo (2004-04-16 06:41:00) [4]EM_FORMATRANGE