首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 剪貼板類 TClipboard 詳解:屬性、方法、數據格式、文本圖像組件傳輸

     編輯:Delphi

7.1.2 剪貼板類 TClipboard

Delphi 在 Clipbrd 單元定義 TClipboard 類,預定義變量 Clipboard 為其實例,絕大多數情況無需自行創建。支持文本、圖像、組件傳輸。

TClipboard 屬性

屬性含義
AsText保存剪貼板文本,僅運行時可設置
FormatCount可用剪貼板格式數目
Formats可用剪貼板格式鏈

TClipboard 方法

方法參數含義
Clear無清除剪貼板內容
AssignSource: TPersistent拷貝對象到剪貼板,常用於圖形/圖像
Open無打開剪貼板,阻止其他程序修改
Close無關閉打開的剪貼板
SetComponentSource: TPersistent拷貝組件到剪貼板
GetComponentOwner, Parent: TPersistent從剪貼板取回組件並放置
SetAsHandleFormat: Word設置指定格式數據句柄,返回 THandle
GetAsHandleFormat: Word獲取指定格式數據句柄,返回 THandle
HasFormatFormat: Word判斷是否擁有給定格式,返回 Boolean
SetTextBufBuffer: PChar設置剪貼板文本內容(>255 字符)

剪貼板數據格式常量

格式含義
CF_TEXT文本,行以 CF_LF 結束,nil 標誌結束
CF_BITMAPWindows 位圖
CF_METAFILEWindows 元文件
CF_PICTURETPicture 類型對象
CF_OBJECT任意 TPersistent 類型對象

文本傳輸

使用 AsText 屬性和 SetTextBuf 方法:

Clipboard.AsText := Form1.Caption;      // 將標題拷貝到剪貼板
Label1.Caption := Clipboard.AsText;     // 從剪貼板讀取文本到標簽
Clipboard.SetTextBuf(LongTextBuffer);   // 超過 255 字符的字符串

7.1.1 使用剪貼板傳輸文本

主要三方法:CopyToClipboard、CutToClipboard、PasteFromClipboard。包含這些方法的組件:

方法組件
CopyToClipboardTDBEdit, TDBMemo, TDBImage, TEdit, TMemo, TMaskEdit, TOLEContainer, TDDEServerItem
CutToClipboardTDBEdit, TDBMemo, TDBImage, TEdit, TMemo, TMaskEdit
PasteFromClipboardTDBEdit, TDBMemo, TDBImage, TEdit, TMemo, TMaskEdit

除 TDBImage 外均為文本控件。傳輸前文本必須被選中。TMaskEdit.AutoSelect=True 獲焦點自動選中;TEdit/TMemo.HideSelection=True 失焦隱藏選中狀態,重獲焦點重顯。

MaskEdit1.CutToClipboard;    // 選中文本剪切到剪貼板
Memo1.PasteFromClipboard;    // 剪貼板文本粘貼到光標處
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved