• 窗体包括标题作为一个位图复制到剪贴板


    unit Unit1;

    interface

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

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

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Format: Word;
      Data: Cardinal;
      APalette: HPALETTE;
    begin
      {TBitmap.SaveToClipboardFormat 函数的三个参数都是接受数据用的, 按要求类型定义即可}
      GetFormImage.SaveToClipboardFormat(Format, Data, APalette);
      {放入剪切板}
      Clipboard.SetAsHandle(Format, Data);

    end;

    procedure TForm1.Button2Click(Sender: TObject);
    var
      dc: HDC;
      bmp: TBitmap;
      Format : Word;
      Bitmap : TBitMap;
      Data: THandle;
      Palette: HPALETTE;
    begin
      dc := GetDC(0);
      if dc <> 0 then
      begin
        bmp := TBitmap.Create();
        bmp.Width := Width;
        bmp.Height := Height;

        BitBlt(bmp.Canvas.Handle, 0, 0, Width, Height, dc, Left, Top, SRCCOPY);

        bmp.SaveToClipboardFormat(Format, Data, Palette);
        Clipboard.SetAsHandle(Format, Data);


        bmp.Free();
        ReleaseDC(0, dc);
      end;
    end;


    end.

  • 相关阅读:
    第十三章 类继承
    第十一章 使用类
    第十章 对象和类
    第九章 内存模型和名称空间
    第八章 函数幽探
    史上最详细得虚拟机安装过程,傻瓜式操作
    JVM内存结构图表展示
    主流消息队列rocketMq,rabbitMq比对使用
    springboot+druid+mybatis plus的多数据源配置
    linux服务器开放防火墙和端口,以及查询状态
  • 原文地址:https://www.cnblogs.com/key-ok/p/3380436.html
Copyright © 2020-2023  润新知