您的位置:首页 > 其它

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

2013-10-21 13:32 162 查看
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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: