Vcl.Graphics.TPicture.SaveToClipboardFormat

提供: RAD Studio API Documentation
移動先: 案内検索

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;
	}
}

関連項目