RAD Studio VCL Reference
|
Loads a bitmap from the Clipboard into the bitmap object.
procedure LoadFromClipboardFormat(AFormat: Word; AData: THandle; APalette: HPALETTE); override;
virtual __fastcall LoadFromClipboardFormat(Word AFormat, THandle AData, HPALETTE APalette);
LoadFromClipboardFormat is called if the bitmap is registered with the TPicture object using the RegisterClipboardFormat method.
LoadFromClipboardFormat replaces the current image with the data pointed to by the AData parameter. The palette for the bitmap is specified by the APalette parameter.
C++ Examples:
/* The following code draws a bitmap image from the Clipboard when a button is pressed. The SaveToClipboard button must be selected before the LoadFromClipboard button in order to place the icon on the clipboard. */ #include <Clipbrd.hpp> #include <memory> //for STL auto_ptr class void __fastcall TForm1::Button1Click(TObject *Sender) { TClipboard *cb = Clipboard(); if (cb->HasFormat(CF_BITMAP)) { std::auto_ptr<Graphics::TBitmap> Bitmap(new Graphics::TBitmap()); try { Bitmap->LoadFromClipboardFormat(CF_BITMAP, cb->GetAsHandle(CF_BITMAP), 0); Canvas->Draw(5, 5, Bitmap.get()); } catch (...) { MessageBeep(0); ShowMessage("Error reading image from clipboard!"); } cb->Clear(); } else { MessageBeep(0); ShowMessage("Cannot find image in clipboard!"); } } void __fastcall TForm1::Button2Click(TObject *Sender) { unsigned int DataHandle; HPALETTE APalette; unsigned short MyFormat; std::auto_ptr<Graphics::TBitmap> Bitmap(new Graphics::TBitmap()); try { Bitmap->LoadFromFile("C:\\Program Files\\Common Files\\CodeGear Shared\\Images\\Splash\\256Color\\FACTORY.BMP"); // generate a clipboard format, with data and palette Bitmap->SaveToClipboardFormat( MyFormat, DataHandle, APalette); // save the data to the clipboard using that format and // the generated data Clipboard()->SetAsHandle(MyFormat,DataHandle); } catch (...) { ShowMessage("Failed to copy image to clipboard!"); } }
Delphi Examples:
{ The following code draws a bitmap image from the Clipboard when a button is pressed. The SaveToClipboard button must be selected before the LoadFromClipboard button in order to place the icon on the clipboard. } procedure TForm1.Button1Click(Sender: TObject); var Bitmap : TBitmap; s : string; Icon: TIcon; begin Bitmap := TBitMap.Create; try Image1.Picture.RegisterClipboardFormat(cf_BitMap,TIcon); Bitmap.LoadFromClipBoardFormat( cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0); Canvas.draw(0,0,Bitmap); finally Bitmap.free; Clipboard.Clear; end; end; procedure TForm1.Button2Click(Sender: TObject); var MyFormat : Word; Bitmap : TBitMap; AData : THandle; APalette : HPALETTE; begin Bitmap := TBitmap.Create; try Bitmap.LoadFromFile('c:\Program Files\Common Files\CodeGear Shared\Images\Splash\256color\factory.bmp'); Bitmap.SaveToClipBoardFormat( MyFormat, AData, APalette); ClipBoard.SetAsHandle(MyFormat,AData); finally Bitmap.Free; end; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|