DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: KfnqDuxw
今日帖子: 22
在线用户: 40
导航: 论坛 -> 网络通讯 斑竹:liumazi,sephil  
作者:
男 wangtaosx ★☆☆☆☆ -
普通会员
2004/8/3 12:00:26
标题:
请教一个打印的问题 浏览:1700
加入我的收藏
楼主: 如何打印屏幕?谢谢
----------------------------------------------
-
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2004/8/3 12:14:41
1楼: 试试以下代码:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Printers, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure CopyScreenToPrinter;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CopyScreenToPrinter;
var
 Canvas:TCanvas;
 DC:HDC;
begin
  DC := GetDC (0);              //取得屏幕的 DC
  Canvas := TCanvas.Create;     //创建一个CANVAS对象
  Canvas.Handle := DC;          //把句柄指向屏幕
  //把整个屏幕复制到BITMAP中
  Printer.BeginDoc;
  Printer.Canvas.CopyRect(Rect (0, 0, Screen.Width, Screen.Height),
                          Canvas,
                          Rect (0, 0, Screen.Width, Screen.Height));
  Canvas.Free;                  //释放CANVAS对象
  ReleaseDC (0, DC);            //释放DC
  Printer.EndDoc;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CopyScreenToPrinter;
end;

end.

----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行58.59375毫秒 RSS