Vcl.Graphics.TPicture.SaveToClipboardFormat

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle;  var APalette: HPALETTE);

C++

void __fastcall SaveToClipboardFormat(System::Word &AFormat, NativeUInt &AData, HPALETTE &APalette);

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
Vcl.Graphics.pas
Vcl.Graphics.hpp
Vcl.Graphics TPicture


Description

Alloue un handle global et écrit l'image sous son format natif du Presse-papiers (CF_BITMAP pour les bitmaps, CF_METAFILE pour les métafichiers, etc.).

Utilisez la méthode SaveToClipboardFormat pour copier l'image dans un des formats du Presse-papiers. Les valeurs résultantes peuvent alors être copiées dans le Presse-papiers Windows en utilisant la méthode SetAsHandle du Presse-papiers.

La palette d'images est renvoyée dans le paramètre APalette, le format dans le paramètre AFormat, et un handle sur les données dans le paramètre AData. Une application doit avoir recensé le format en utilisant la méthode RegisterClipboardFormat avant que l'image puisse être enregistrée.

L'extrait de code suivant montre comment enregistrer un bitmap dans le Presse-papiers.

Remarque : Pour charger un bitmap du Presse-papiers, vous pouvez utiliser l'extrait de code pour la méthode 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;
	}
}

Voir aussi