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);
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.
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;
#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;
}
}