JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

EndDoc

- метод компонента TPrinter
Компонент TPrinter
Заканчивает подготовку задания на печать и начинает печать документа.
Синтаксис
prnObj.EndDoc();
Параметры
Нет
Пример (JS+)
// Главная форма
frm=new TForm();
frm.Caption="JS+ - метод компонента TPrinter EndDoc";
frm.Width =700;
frm.Height=525;

// Строка состояния
stb=new TStatusBar(frm);
stb.SimpleText=' Нажмите кнопку "Печать"';

// Принтер
prn=Printer();

// Список доступных принтеров
cmb=new TComboBox(frm);
cmb.Style=csDropDownList;
cmb.Left=cmb.Top=10;
cmb.Items=prn.Printers;
if (cmb.Items.Count==0) {
  cmb.Items.Add("Нет доступных принтеров");
  stb.SimpleText=" "+cmb.Items[cmb.ItemIndex=0];
}
else
  cmb.ItemIndex=prn.PrinterIndex;

// Кнопка
btn=new TButton(frm);
btn.Caption="Печать";
btn.Top=stb.Top-btn.Height-10;
btn.OnClick=btn_Click;
if (prn.Printers.Count==0)
  btn.Enabled=false;

// Панель закладок
pgc=new TPageControl(frm);
pgc.Left=cmb.Left;
pgc.Top =cmb.Top+cmb.Height+10;
pgc.Width =frm.ClientWidth-pgc.Left*2;
pgc.Height=btn.Top-pgc.Top-10;

for (i=0;i<2;i++) {
  // Закладка
  tsh=new TTabSheet(pgc);

  switch (i) {
    case 0: tsh.Caption="Изображение";

            // Панель
            pnl=new TPanel(tsh);
            pnl.BorderStyle=bsSingle;
            pnl.Left=pnl.Top=10-tsh.Left;
            pnl.Width =tsh.ClientWidth-pnl.Left*2;
            pnl.Height=tsh.ClientHeight-pnl.Top*2;

            // Изображение
            img=new TImage(pnl);
            img.Align=alClient;
            img.LoadFromFile(
            JSPlus.HelpDir+"IMAGE\\TPrinter\\Image.jpg");

            img.Align=alNone;
            pnl.ClientWidth =img.Width;
            pnl.ClientHeight=img.Height;
            pgc.ClientWidth=pnl.Width+(pnl.Left+tsh.Left)*2;
            break;

    case 1: tsh.Caption="Текст";

            // Memo
            mem=new TMemo(tsh);
            mem.BorderStyle=bsSingle;
            mem.SetBounds(
            pnl.Left,pnl.Top,pnl.Width,pnl.Height);
            for (j=1;j<10;j++)
              mem.Lines.Add("Строка "+j);
  }
}

frm.ClientWidth=pgc.Width+pgc.Left*2;
cmb.Width=frm.ClientWidth-cmb.Left*2;
btn.Left=cmb.Left+cmb.Width-btn.Width;

frm.ShowModal();

// Обработчик события OnClick
function btn_Click(btn)
{
  var i,y,dy,cnv,str_lst;

  prn.PrinterIndex=cmb.ItemIndex;
  prn.BeginDoc();

  switch (pgc.ActivePageIndex) {
    case 0: img.Print(prn,10,10); break;
    case 1: cnv=prn.Canvas;
            cnv.Font.Name="Tahoma";
            cnv.Font.Size=9;
            dy=cnv.TextHeight("Q")*1.1;
            str_lst=mem.Text.split("\r\n");
            for (i=y=0;i<str_lst.length;y+=dy,i++)
              cnv.TextOut(0,y,str_lst[i]);
  }

  prn.EndDoc();
}
Совместимость
C++ Builder/Delphi
См. также
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/Component/System/TPrinter/Method/EndDoc.htm
© 2024,