Цитата:
Сообщение от YVitaliy
Так любая канва его может печатать на себе без доработок
Можно печатать таким способом:
Код:
procedure TForm1.ButtonClick(Sender: TObject);
var bmp:TBitMap;
begin
bmp:=TBitMap.Create;
try
bmp.Width:=BarCode1.Width;
bmp.Height:=BarCode1.Height;
bmp.Canvas.CopyRect(rect(0,0,bmp.Width,bmp.Height),BarCode1.Canvas ,
rect(0,0,BarCode1.Width,BarCode1.Height));
//printer.PrinterIndex:=1;
printer.BeginDoc;
printer.Canvas.Draw(0,0,bmp);
printer.EndDoc;
finally
bmp.Free;
end;
end;
Но версия с TPanel, возможно, более "компактна" в плане кода.
|
Версия с TPanel лучше не потому что компактнее, а потому что будет работать даже если эта панель перекрыта (полностью или частично) другим окном и даже если будет находиться на скрытой форме. А вот с обычным копированием одной канвы на другую в таких случаях фокус не пройдёт.
Но вообще лучше доработать компонент, чтобы он мог выводить штрих-код на произвольную канву, тогда можно будет вывести например в метафайл, а уже с этим метафайлом можно творить что угодно без потери качества (в отличие от TBitmap).
