现在的位置: 首页 > 综合 > 正文

Delphi Tclipboard(1)

2018年05月27日 ⁄ 综合 ⁄ 共 1164字 ⁄ 字号 评论关闭

1. 剪贴文本AsText、SetTextBuf、GetTextBuf

Clipboard.AsText := Text;

Clipboard.SetTextBuf(PChar(Text));
{按参数类型要求, 需要转换一下}
  ShowMessage(Clipboard.AsText);   {Form1}

Clipboard.AsText := Text;  Clipboard.GetTextBuf(arr, Length(arr));

 

2.剪贴图片Assign、HasFormat         ; CF_BITMAP 常量表示图片

Clipboard.Assign(Image1.Picture);
{把 Image1 中的图片放入剪切板}
 {现在在图像软件中都可以粘贴了, 可以用 Windows 画图板试试}

{如果当前剪切板中的东西不是图片, 就退出} 

 if
not Clipboard.HasFormat(CF_BITMAP)then

  Exit; 

bit := TBitmap.Create;  bit.Assign(Clipboard);  x := Panel1.Width + Panel1.Left *2
y := Panel1.Top; 

Canvas.Draw(x, y, bit); 

bit.Free;

 

3. SetComponent、GetComponent

放入剪切板的方法是个过程: SetComponent(要放入的组件);
取出的方法是个函数: GetComponent(指定属主, 指定父窗口): 函数返回取出的组件的句柄
.

取出以前还必须要注册要取出的组件类, 譬如: RegisterClasses([TEdit]);

在需要的时候, 我们也可以自定义剪切板中的格式.

 

4.SetAsHandle、GetAsHandle - 自定义格式

5.把窗体客户区图像保存到文件或剪切板

//用一句话完成上一个过程

procedure TForm1.Button2Click(Sender: TObject);

begin 

   Self.GetFormImage.SaveToFile('c:\temp\img2.bmp');

end;

//把窗体客户区图像复制到剪切板

procedure
TForm1.Button3Click(Sender: TObject);

var

   Format: Word;  Data: Cardinal;  APalette: HPALETTE;

begin 

{TBitmap.SaveToClipboardFormat 函数的三个参数都是接受数据用的, 按要求类型定义即可}

   GetFormImage.SaveToClipboardFormat(Format,
Data, APalette); 

   {放入剪切板}

  Clipboard.SetAsHandle(Format, Data);

end;

 

抱歉!评论已关闭.