您现在的位置是:首页 >

剪切板是哪个区域的 使用剪切板[2]:Assign、HasFormat

火烧 2022-04-10 02:27:27 1046
使用剪切板[2]:A ig 、Ha Format   准备工作  在窗体上放置一个 TPa el 在 TPa el 上放一个 TImage 另外需要三个按钮   本例效果图   =224 gt   第
剪切板是哪个区域的 使用剪切板[2]:Assign、HasFormat

使用剪切板[2]:Assign、HasFormat  

  准备工作

  在窗体上放置一个 TPanel 在 TPanel 上放一个 TImage 另外需要三个按钮

  本例效果图

   =224>

  第一版代码

  unit Unit ;

  interface

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

  type TForm  = class(TForm)  Button : TButton;  Button : TButton;  Button : TButton;  Panel : TPanel;  Image : TImage;  procedure Button Click(Sender: TObject);  procedure Button Click(Sender: TObject);  procedure Button Click(Sender: TObject); end;

  var Form : TForm ;

  implementation

  {$R * dfm}

  uses Clipbrd;

  procedure TForm Button Click(Sender: TObject);begin Image Left :=  ; Image Top :=  ; Panel AutoSize := True; Image AutoSize := True; Image Picture LoadFromFile( c:temptest bmp );

  TButton(Sender) Caption :=  导入 ;end;

  procedure TForm Button Click(Sender: TObject);begin Clipboard Assign(Image Picture); {把 Image  中的图片放入剪切板} {现在在图像软件中都可以粘贴了  可以用 Windows 画图板试试}

  TButton(Sender) Caption :=  复制 ;end;

  procedure TForm Button Click(Sender: TObject);var bit: TBitmap; {准备用一个 TBitmap 从剪切板中结束图片} x y: Integer;begin bit := TBitmap Create; bit Assign(Clipboard);        {从剪切板获取} x := Panel Width + Panel Left *  ; {x y 是准备在窗体上的粘贴位置} y := Panel Top; Canvas Draw(x  y  bit);       {粘贴就是画出来呗} bit Free;

  TButton(Sender) Caption :=  粘贴 ;end;

  不过现在程序还有漏洞 假如剪切板中没有东西 粘贴什么? 如果剪切板中不是图片 怎么粘贴?

  其实我们只用 TClipboard HasFormat 函数判断一下剪切板中是不是图片就行了

  第二版代码

  unit Unit ;

  interface

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

  type TForm  = class(TForm)  Button : TButton;  Button : TButton;  Button : TButton;  Panel : TPanel;  Image : TImage;  procedure Button Click(Sender: TObject);  procedure Button Click(Sender: TObject);  procedure Button Click(Sender: TObject); end;

  var Form : TForm ;

  implementation

  {$R * dfm}

  uses Clipbrd;

  procedure TForm Button Click(Sender: TObject);begin Image Left :=  ; Image Top :=  ; Panel AutoSize := True; Image AutoSize := True; Image Picture LoadFromFile( c:temptest bmp ); TButton(Sender) Caption :=  导入 ;end;

  procedure TForm Button Click(Sender: TObject);begin {如果 Image  还没有图片  就别复制了  退出吧} if Image Picture = nil then Exit;

  Clipboard Assign(Image Picture); TButton(Sender) Caption :=  复制 ;end;

  procedure TForm Button Click(Sender: TObject);var bit: TBitmap; x y: Integer;begin {如果当前剪切板中的东西不是图片  就退出} if not Clipboard HasFormat(CF_BITMAP) then Exit;

  bit := TBitmap Create; bit Assign(Clipboard); x := Panel Width + Panel Left *  ; y := Panel Top; Canvas Draw(x  y  bit); bit Free; TButton(Sender) Caption :=  粘贴 ;end;

lishixinzhi/Article/program/Delphi/201311/24656  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码