Vcl.Graphics.TPicture.SaveToClipboardFormat
Delphi
procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle; var APalette: HPALETTE);
C++
void __fastcall SaveToClipboardFormat(System::Word &AFormat, NativeUInt &AData, HPALETTE &APalette);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Vcl.Graphics.pas Vcl.Graphics.hpp |
Vcl.Graphics | TPicture |
説明
グローバル ハンドルを確保し、画像をネイティブ Clipboard 形式で書き込みます(ビットマップの場合 CF_BITMAP、メタファイルの場合 CF_METAFILE、など)。
SaveToClipboardFormat を使用すると、この画像を Clipboard 形式にコピーします。その結果の値は、その後、クリップボードの SetAsHandle メソッドを使用して、Windows クリップボードにコピーすることができます。
この画像のパレットは APalette パラメータに、形式は AFormat パラメータ、さらにデータのハンドルは AData パラメータに返ります。 画像が保存される前に、アプリケーションは RegisterClipboardFormat メソッドを使用して、形式を登録していなければなりません。
次のコード スニペットは、ビットマップをクリップボードに保存する方法を示しています。
- メモ: ビットマップをクリップボードから読み込むには、LoadFromClipboardFormat メソッドのコード スニペットを使用します。
Delphi:
uses
Vcl.Clipbrd;
procedure TForm1.Button1Click(Sender: TObject);
var
MyFormat : Word;
Picture : TPicture;
AData : THandle;
APalette : HPALETTE;
begin
Picture := TPicture.Create;
try
Picture.LoadFromFile('C:\Users\Public\Pictures\Sample Pictures\desert.bmp');
Picture.SaveToClipBoardFormat(MyFormat, AData, APalette);
ClipBoard.SetAsHandle(MyFormat,AData);
finally
Picture.Free;
end;
end;
C++:
#include <Vcl.Clipbrd.hpp>
void __fastcall TForm1::Button1Click(TObject *Sender){
TClipboard* cb = Clipboard();
unsigned short MyFormat;
TPicture* Picture;
unsigned int AData;
HPALETTE APalette;
Picture = new TPicture();
try{
Picture->LoadFromFile("C:\\Users\\Public\\Pictures\\Sample Pictures\\desert.bmp");
Picture->SaveToClipboardFormat(MyFormat, AData, APalette);
cb->SetAsHandle(MyFormat, AData);
}
__finally{
delete Picture;
}
}