Mam taką sytuację, że na formie jest ScrollBox wypełniony różnymi kontrolkami. Czy jest możliwe wydrukowanie całej jego zawartości (zarówno tej aktualnie wyświetlanej i tej do której trzeba się "doscrollować")? I, jeśli oczywiście da się coś takiego zrobić, to w jaki sposób przed wydrukowaniem pokazać okienko z możliwością wyboru drukarki i takimi tam pierdółkami?
Z góry dzięki :)
0
0
Dołączam się do pytania...
Ja , na razie , mam coś takiego , ale to do konca nie iskrzy..
var
bmp: TBitmap;
begin
bmp := TBitmap.Create;
try
bmp.Width := ScrollBox1.Width;
bmp.Height := ScrollBox1.Height;
bmp.Canvas.Lock;
try
ScrollBox1.Perform(WM_PRINT, bmp.Canvas.Handle,
PRF_CHILDREN or PRF_CLIENT or PRF_NONCLIENT);
finally
bmp.Canvas.UnLock;
bmp.SaveToFile('C:\ScrollBox.bmp')
end;
finally
bmp.Free
end;
end;
0
Nikt nie odpowiedział, a ja sprawę wybadałem sam :) Trochę zmieniłem architekturę mojego programu i zamiast ScrollBoxa mam zwykłą Formę, a w jej przypadku wystarczy ustawić BMP.Height na "całkowitą" wysokość formy. Do tego celu można choćby wziąć właściwość Top kontrolki, o której wiemy że jest najniżej i dodać do tego jej Height. I szafa gra :)