Вниз
Скачать: CL | DM;

Проблема с печатью с ListView.   Найти похожие ветки 

 
denmin ©   (2003-10-16 11:26) [0]

Есть процедура:
procedure TFormTableInfo.SpeedButtonPrintClick(Sender: TObject);
begin
if PrintDialog1.Execute then
begin
with Printer do
begin
BeginDoc;
ListView1.PaintTo(Handle, 10, 10);
EndDoc;
end;
end;
end;
Печатает, но только такой маленький размер, что не разберешь, а в ручную ставить масштаб постоянно не хочется. Может можно программно как-то? Подскажите пожалуйста.


 
clickmaker ©   (2003-10-16 12:07) [1]

Numerator := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
Denominator := Screen.PixelsPerInch;
Bitmap := TBitmap.Create;
try
Bitmap.Width := ListView1.Width;
Bitmap.Height := ListView1.Height;

ListView1.PaintTo(Bitmap.Canvas.Handle, 0, 0);

PrintWidth := MulDiv(Bitmap.Width, Numerator, Denominator);
PrintHeight := MulDiv(Bitmap.Height, Numerator, Denominator);
Printer.Canvas.StretchDraw(Rect(10, 10, 10 + PrintWidth - 1, 10 + PrintHeight - 1), Bitmap);
finally
Bitmap.Free;
end;


 
denmin ©   (2003-10-16 13:27) [2]

печатает, нормальный размер, но текста нет



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

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.983 c
1-89258
Duce
2003-10-14 18:15
2003.10.27
метод protected в наследнике определить как public?


1-89277
@Ujin
2003-10-17 00:14
2003.10.27
Что с потоком?


3-89155
IGOR_k
2003-10-07 12:26
2003.10.27
dbf create


14-89453
isko
2003-10-10 08:03
2003.10.27
который мастдай


1-89286
TUser
2003-10-14 12:36
2003.10.27
Убрать Hint




   Наверх