⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch17.htm

📁 好书《C++ Builder高级编程技术》
💻 HTM
📖 第 1 页 / 共 5 页
字号:

{

  if (PrintDialog1->Execute())

  {

    SendToPrinter();

  }

}

void __fastcall TForm1::Open1Click(TObject *Sender)

{

  if 
(OpenDialog1->Execute())

  {

    Memo1->Lines->LoadFromFile(OpenDialog1->FileName);

void __fastcall TForm1::ShapeForm1Click(TObject *Sender)

{

  PaintBoxForm->ShowModal();

}

void __fastcall TForm1::BitmapForm1Click(TObject 
*Sender)

{

  PrintBitmapForm->ShowModal();

}

</FONT></PRE>
<H3 ALIGN="CENTER"><FONT COLOR="#0066FF"></FONT></H3>
<P><A NAME="Heading27"></A><FONT COLOR="#000077"><B>Listing 17.3. The header for
the PaintBoxPrint module.</B></FONT></P>

<PRE><FONT COLOR="#0066FF">///////////////////////////////////////

// File: PaintBoxPrint.h

// Project: PrintText

// Copyright (c) 1997 by Charlie Calvert

//

#ifndef PaintBoxPrintH

#define PaintBoxPrintH

#include &lt;vcl\Classes.hpp&gt;


#include &lt;vcl\Controls.hpp&gt;

#include &lt;vcl\StdCtrls.hpp&gt;

#include &lt;vcl\Forms.hpp&gt;

#include &lt;vcl\ExtCtrls.hpp&gt;

#include &lt;vcl\Buttons.hpp&gt;

#include &lt;vcl\Dialogs.hpp&gt;

class TPaintBoxForm : public TForm

{


__published:

  TPaintBox *PaintBox1;

  TBitBtn *PrintPictureBtn;

  TBitBtn *ShowPictureBtn;

  TPrintDialog *PrintDialog1;

  void __fastcall PrintPictureBtnClick(TObject *Sender);

private:

  void __fastcall ShowData(TCanvas *Canvas);

  void 
SendToPrinter();

public:

  __fastcall TPaintBoxForm(TComponent* Owner);

};

extern TPaintBoxForm *PaintBoxForm;

#endif



</FONT></PRE>
<P><A NAME="Heading28"></A><FONT COLOR="#000077"><B>Listing 17.4. The main module
for the PaintBoxPrint 
module.</B></FONT></P>
<PRE><FONT COLOR="#0066FF">///////////////////////////////////////

// File: PaintBoxPrint.cpp

// Project: PrintText

// Copyright (c) 1997 by Charlie Calvert

//

#include &lt;vcl\vcl.h&gt;

#include &lt;vcl\printers.hpp&gt;


#pragma hdrstop

#include &quot;PaintBoxPrint.h&quot;

#pragma resource &quot;*.dfm&quot;

TPaintBoxForm *PaintBoxForm;

__fastcall TPaintBoxForm::TPaintBoxForm(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TPaintBoxForm::ShowData(TCanvas 
*Canvas)

{

  Canvas-&gt;Brush-&gt;Color = clBlue;

  Canvas-&gt;Pen-&gt;Color = clYellow;

  Canvas-&gt;Rectangle(0, 0, PaintBox1-&gt;Width, PaintBox1-&gt;Height);

  Canvas-&gt;Font-&gt;Color = clYellow;

  Canvas-&gt;TextOut(5, 5, &quot;Hi&quot;);

  
Canvas-&gt;Brush-&gt;Color = clPurple;

  Canvas-&gt;Ellipse(25, 25, 150, 150);

}

void TPaintBoxForm::SendToPrinter()

{

  if (PrintDialog1-&gt;Execute())

  {

    TPrinter *APrinter = Printer();

    APrinter-&gt;BeginDoc();

    
ShowData(APrinter-&gt;Canvas);

    APrinter-&gt;EndDoc();

  }

}

void __fastcall TPaintBoxForm::PrintPictureBtnClick(TObject *Sender)

{

  switch(dynamic_cast&lt;TButton *&gt;(Sender)-&gt;Tag)

  {

    case 0:

    {

      SendToPrinter();

      
break;

    }

    case 1:

    {

      ShowData(PaintBox1-&gt;Canvas);

      break;

    }

  }

</FONT></PRE>
<PRE><FONT COLOR="#0066FF">}

</FONT></PRE>
<H3 ALIGN="CENTER"><FONT COLOR="#0066FF"></FONT></H3>
<P><A NAME="Heading29"></A><FONT 
COLOR="#000077"><B>Listing 17.5. The header for
the PrintBitmap module.</B></FONT></P>
<PRE><FONT COLOR="#0066FF">///////////////////////////////////////

// File: PrintBmp.h

// Project: PrintText

// Copyright (c) 1997 by Charlie Calvert

//


#ifndef PrintBmp1H

#define PrintBmp1H

#include &lt;vcl\Classes.hpp&gt;

#include &lt;vcl\Controls.hpp&gt;

#include &lt;vcl\StdCtrls.hpp&gt;

#include &lt;vcl\Forms.hpp&gt;

#include &lt;vcl\ExtCtrls.hpp&gt;

#include &lt;vcl\Menus.hpp&gt;

#include 
&lt;vcl\Dialogs.hpp&gt;

class TPrintBitmapForm : public TForm

{

__published:

  TImage *Image1;

  TMainMenu *MainMenu1;

  TMenuItem *File1;

  TMenuItem *Open1;

  TMenuItem *Print1;

  TMenuItem *N1;

  TMenuItem *Exit1;

  TOpenDialog 
*OpenDialog1;

  TPrintDialog *PrintDialog1;

  TMenuItem *Options1;

  TMenuItem *Stretch1;

  void __fastcall Open1Click(TObject *Sender);

  void __fastcall Print1Click(TObject *Sender);

  void __fastcall Exit1Click(TObject *Sender);

  void 
__fastcall Stretch1Click(TObject *Sender);

private:

public:

  __fastcall TPrintBitmapForm(TComponent* Owner);

};

extern TPrintBitmapForm *PrintBitmapForm;

#endif

</FONT></PRE>
<H3 ALIGN="CENTER"><FONT COLOR="#0066FF"></FONT></H3>
<P><A 
NAME="Heading30"></A><FONT COLOR="#000077"><B>Listing 17.6. The main form for
the PrintBitmap module.</B></FONT></P>
<PRE><FONT COLOR="#0066FF">///////////////////////////////////////

// File: PrintBmp.cpp

// Project: PrintText

// Copyright (c) 
1997 by Charlie Calvert

//

#include &lt;vcl\vcl.h&gt;

#include &lt;vcl\printers.hpp&gt;

#pragma hdrstop

#include &quot;PrintBmp1.h&quot;

#pragma resource &quot;*.dfm&quot;

TPrintBitmapForm *PrintBitmapForm;

__fastcall 
TPrintBitmapForm::TPrintBitmapForm(TComponent* Owner)

    : TForm(Owner)

{

}

void __fastcall TPrintBitmapForm::Open1Click(TObject *Sender)

{

  if (OpenDialog1-&gt;Execute())

  {

    
Image1-&gt;Picture-&gt;LoadFromFile(OpenDialog1-&gt;FileName);

  }

}

void __fastcall TPrintBitmapForm::Print1Click(TObject *Sender)

{

  if (PrintDialog1-&gt;Execute())

  {

    TPrinter *APrinter = Printer();

    APrinter-&gt;BeginDoc();

    
APrinter-&gt;Canvas-&gt;Draw(1, 1, Image1-&gt;Picture-&gt;Bitmap);

    APrinter-&gt;EndDoc();

  }

}

void __fastcall TPrintBitmapForm::Exit1Click(TObject *Sender)

{

  Close();

}

void __fastcall TPrintBitmapForm::Stretch1Click(TObject *Sender)


{

  Stretch1-&gt;Checked = !Stretch1-&gt;Checked;

  Image1-&gt;Stretch = Stretch1-&gt;Checked;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -