新客网WWW.XKER.COM:致力做中国最专业的网络学院!
模糊搜索
标题搜索
最新更新
新客商城
网站地图
RSS订阅
首页
新闻中心
网络学院
软件开发
站长之家
软件下载
手机学院
桌面壁纸
专题
论坛
学院:
操作系统
-
网络应用
-
服务器
-
网络安全
-
工具软件
-
办公软件
-
Web开发
-
数据库
-
网页设计
-
图形图像
-
媒体动画
-
硬件学堂
-
存储频道
-
QQ专区
您的位置:
首页
>
软件开发
>
开发语言
>
Delphi教程
> 正文:一个实用的Delphi屏幕拷贝程序的设计
一个实用的Delphi屏幕拷贝程序的设计
新客网
XKER.COM
2006-07-13 来源:
收藏本文
Borland 公 司( 现 改 名 为INPRISE 公 司) 的DELPHI 是 当 前 最 为 方 便 的Windows 程 序 设
计 工 具 之 一。 许 多 人 以 为DELPHI 是 作 为 数 据 库 开 发 工 具 出 现 的, 其 实 用DELPHI
可 以 以 极 快 的 速 度 开 发 出 高 效 的Windows 程 序。
现 在 我 们 就 用DELPHI 来 编 写 一 个 实 用 的 屏 幕 拷 贝 程 序。 瞧 瞧, 下 面 的 画 面
就 是 所 编 程 序 运 行 后 进 行 区 域 屏 幕 拷 贝 的 例 子, 还 不 错 吧 !
Borland 公 司 的 天 才 设 计 师 们 用 画 布(Tcanvas) 对 象 封 装 了Windows 的 大 部 分 图 形
输 出 功 能, 这 使 得 我 们 可 以 通 过 他 以 更 直 观 的 方 式 和Windows 的 屏 幕 打 交 道,
而 不 必 关 心 令 人 头 疼 的Windows API 函 数。 下 面 的 一 小 段 程 序 就 可 以 实 现 整 个
屏 幕 的 图 象 拷 贝 了。
var //变量声明
Fullscreen:Tbitmap;
FullscreenCanvas:TCanvas;
dc:HDC;
//------------------------------------------------------------
DC := GetDC (0); //取得屏幕的 DC,参数0指的是屏幕
FullscreenCanvas := TCanvas.Create; //创建一个CANVAS对象
FullscreenCanvas.Handle := DC; //将屏幕的DC赋给HANDLE
Fullscreen.Canvas.CopyRect
(Rect (0, 0, screen.Width,screen.Height),
fullscreenCanvas,
Rect (0, 0, Screen.Width, Screen.Height));
//把整个屏幕复制到BITMAP中
FullscreenCanvas.Free; //释放CANVAS对象
ReleaseDC (0, DC); //释放DC
//SCREEN对象是DELPHI预先定义的屏幕对象,直接使用就行了。
看 了 以 上 代 码, 你 就 会 发 现 用DELPHI 写 屏 幕 拷 贝 程 序 的 确 很 简 单。
当 然 要 写 一 个 实 用 的 屏 幕 拷 贝 程 序, 光 靠 上 述 代 码 是 不 够 的, 下 面 讲 一
下 主 要 的 编 程 思 路:
1. 全 屏 幕 拷 贝 的 实 现
首 先 隐 藏 拷 屏 程 序, 延 长 一 定 时 间 后, 利 用 上 述 的 程 序 即 可 实 现 屏 幕 的
拷 贝。
2. 区 域 拷 贝 的 实 现
要 实 现 区 域 拷 贝 要 用 个 小 技 巧, 首 先 调 用 全 屏 幕 拷 贝 程 序 把 整 个 屏 幕 拷
贝 下 来, 然 后 把 拷 贝 下 来 的 图 象 显 示 在 屏 幕 上, 之 后 就 可 以 让 用 户 在 上 面
选 择 需 要 的 区 域, 最 后 才 将 用 户 选 定 的 区 域 复 制 下 来。
编 程 实 现:
1. 首 先 用DELPHI3 开 一 个 工 程。
2. 在FORM 上 放 置 一 个TPANEL 元 件, 设 置ALIGN=ALTOP, 再 选 部 件 条ADDITIONAL 上
的TSCROLLBOX, 放 到FORM 上, 设 置ALIGN=ALCLIENT, 然 后 在SCROLLBOX 上 放 置 一 个
TIMAGE 对 象。
3. 在PANEL 上 放 置4 个 按 钮, 分 别 为FULL SCREEN,REGIN,SAVE,EXIT。
4. 容 易 干 的 先 干, 在EXIT 按 钮 的CLICK 事 件 里 写 下 代 码
procedure TForm1.ExitClick(Sender: TObject);
begin
close;
end;
5. 接 着 是 实 现 全 屏 幕 拷 贝 了, 在FROM 上 放 置 一 个 记 时 器TTIMER,ENABLED 设 为
FALSE,INTERVAL 设 为500, 也 就 是 半 秒 钟 激 活 一 次。 双 击TIMER 部 件, 写 上 如 下 的
代 码。
procedure TForm1.Timer1Timer(Sender: TObject);
var
Fullscreen:Tbitmap;
FullscreenCanvas:TCanvas;
dc:HDC;
begin
timer1.Enabled:=false; //取消时钟
共4页:
上一页
[1]
[2]
[3]
[4]
下一页
上一篇:
Delphi的优点
下一篇:
基于Delphi的“八皇后”问题动态实现
【
收藏
】 【
评论
】 【
推荐
】 【
投稿
】 【
打印
】 【
关闭
】
最新相关文章
·
DELPHI删除指定目录下指定扩展名的文件
·
垃圾清理势在必行——Java垃圾收集算法
·
经验技巧:分享两条Delphi开发经验
·
Delphi调用WebServices(C#)代码
·
delphi制作的托盘程序
·
基于Delphi的“八皇后”问题动态实现
·
半透明窗体的制作
·
走近Inprise/Borland
·
COM/DCOM中如何传递数组
·
监视剪贴板内容
·
Linux上最新的Kylix截屏画面
·
怎样处理数据库中的NULL
·
在delphi中如何限制鼠标的移动区域。
·
Delphi + Word = 数据库 + 公文处理
·
用InstallShield制作数据库应用系统的安装程序
·
Delphi的优点
发表评论
(
要记得去论坛讨论,点击注册新会员
)
匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
Delphi + Word = 数据库 + 公文处理
Delphi调用WebServices(C#)代码
直接访问WebBrowser控件中的HTML源码
Delphi控件的使用经验
wap!delphi能做到!应用于移动电话的WML(Wireless
半透明窗体的制作
Delphi的优点
通用Delphi数据库输入控件DBPanel的实现
delphi制作的托盘程序
一个实用的Delphi屏幕拷贝程序的设计
Microsoft Agent技术在Delphi中的应用
用Delphi开发屏幕保护预览程序
Delphi开发经验四则
用InstallShield制作数据库应用系统的安装程序
利用Delphi 5中调用Excel 97
专题教程
非主流Ps教程
磁碟机病毒专杀
AV终结者
会声会影教程
nero教程
FreeBSD使用大全
PDF阅读器
BT下载
QQ防骗术案例剖析
机器狗病毒查杀专题
搜狗拼音输入法专题
google earth专题
随机推荐
DELPHI AND THE INTERNET
致Delphi和C++Builder社群的一封公开信
COM/DCOM中如何传递数组
利用Delphi 5中调用Excel 97
Delphi编程实现Ping操作
经验技巧:分享两条Delphi开发经验
Delphi开发经验四则
一个实用的Delphi屏幕拷贝程序的设计
Delphi之完全汉语终结版
用InstallShield制作数据库应用系统的安装程序
走近Inprise/Borland
用Delphi开发屏幕保护预览程序
Delphi调用WebServices(C#)代码
窗体特效:半透明窗体 像Foxmail3.1beta的一样
通用Delphi数据库输入控件DBPanel的实现
实用信息推荐
常用网页广告代码全集
中国电子地图
IP查询、IP签名
免费代理IP(每日更新)
免费周公解梦大全
html互转JS
FLASH休闲小游戏
flash动画
qq搞笑表情
最新电影大片
戴尔dell笔记本电脑订购
戴尔dell台式机电脑订购