网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
一个实用的Delphi屏幕拷贝程序的设计
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
区 域 拷 贝 的 实 现。 再New 一 个FORM,BorderStype 设 为 bsNone, 这 样 能 够 显 示
为 全 屏 幕, 上 面 放 置 一 个TIMAGE 部 件,ALIGN 设 为ALCLIENT, 另 外 放 置 一 个TTIMER
部 件,TIMER 部 件 的 程 序 跟 上 面 的 很 象, 因 为 它 首 先 要 实 现 的 是 全 屏 幕 的 拷
贝。

procedure TForm2.Timer1Timer(Sender: TObject);
var
Fullscreen:Tbitmap;
FullscreenCanvas:TCanvas;
dc:HDC;
begin
    timer1.Enabled:=false;
    Fullscreen := TBitmap.Create;    
    Fullscreen.Width := screen.width;
    Fullscreen.Height := screen.Height;
    DC := GetDC (0);  
    FullscreenCanvas := TCanvas.Create;
    FullscreenCanvas.Handle := DC;
Fullscreen.Canvas.CopyRect (Rect
(0, 0, screen.Width, screen.Height), fullscreenCanvas,
     Rect (0, 0, Screen.Width, Screen.Height));
    FullscreenCanvas.Free;         
    ReleaseDC (0, DC);
    image1.picture.Bitmap:=fullscreen;
    image1.Width:=fullscreen.Width;
    image1.Height:=fullscreen.Height;
    fullscreen.free;                
    form2.WindowState:=wsMaximized;
    form2.show;

    messagebeep(1);
    foldx:=-1;
    foldy:=-1;
    image1.Canvas.Pen.mode:=pmnot; //笔的模式为取反
    image1.canvas.pen.color:=clblack; //笔为黑色
    image1.canvas.brush.Style:=bsclear; //空白刷子
    flag:=true;
end;
---- 9.TIMAGE 部 件 上 有 两 个 事 件 的 程 序 需 要 编 写, 一 个 是ONMOUSEDOWN, 另 一 个
是ONMOUSEMOVE。

---- 10. 可 以 回 头 看 看 区 域 拷 贝 的 思 路, 此 时 需 要 作 区 域 拷 贝 的 屏 幕 我 们 已 经
得 到, 也 显 示 在 屏 幕 上 了, 按 下 鼠 标 左 键 是 区 域 的 原 点, 此 后 移 动 鼠 标, 将
有 一 个 矩 形 在 原 点 和 鼠 标 之 间, 它 会 随 着 鼠 标 的 移 动 而 变 化, 再 次 按 下 鼠
标 的 左 键, 此 时 矩 形 所 包 含 的 区 域 就 是 我 们 要 得 到 的 图 象 了。

---- 11. 所 以MOUSEDOWN 有 两 次 响 应 的 处 理, 见 以 下 程 序。

procedure TForm2.Image1MouseDown
(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
width,height:integer;
newbitmap:Tbitmap;
begin
  if (trace=false) then  // TRACE表示是否在追踪鼠标
   begin      //首次点击鼠标左键,开始追踪鼠标。
      flag:=false;
   with image1.canvas do
      begin               
        moveTo(foldx,0);
  &nb
  • 上一篇资讯: DELPHI图形编辑技巧二则
  • 下一篇资讯: Delphi的类型转换
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号