Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TBitmap in die Zwischenablage kopieren (https://www.delphipraxis.net/97398-tbitmap-die-zwischenablage-kopieren.html)

Christian18 9. Aug 2007 22:00


TBitmap in die Zwischenablage kopieren
 
Hallo,

ich habe ein Bild in einer Variablen.
Delphi-Quellcode:
  var bitmap : TBitmap;
Wie kann ich das Bild in die Zwischenablage kopieren?

LG Chris

Christian18 9. Aug 2007 22:29

Re: TBitmap in die Zwischenablage kopieren
 
Hallo,

man soll es so machen können:

Bitmap.SaveToClipboardFormat();

welche parameter müssen da rein?

Luckie 9. Aug 2007 22:47

Re: TBitmap in die Zwischenablage kopieren
 
Zitat:

Zitat von Christian18
welche parameter müssen da rein?

Steht in der Hilfe.

Christian18 9. Aug 2007 22:52

Re: TBitmap in die Zwischenablage kopieren
 
Hi,

ja das habe ich gesehen. Ich kann damit aber gerade gar nichts anfangen.


procedure SaveToClipboardFormat(var Format: Word; var Data: Cardinal; var APalette: HPALETTE); override;

Luckie 9. Aug 2007 23:41

Re: TBitmap in die Zwischenablage kopieren
 
In der Hilfe ist auch ein Beispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  MyFormat : Word;
  Bitmap : TBitMap;
  AData,APalette : THandle;
begin
  Bitmap := TBitmap.Create;
  try
    Bitmap.LoadFromFile('c:\Program Files\Common Files\Borland Shared\Images\Splash\256color\factory.bmp');
    Bitmap.SaveToClipBoardFormat(MyFormat,AData,APalette);
    ClipBoard.SetAsHandle(MyFormat,AData);
  finally
    Bitmap.Free;
  end;
end;

Christian18 10. Aug 2007 09:48

Re: TBitmap in die Zwischenablage kopieren
 
Hallo,

leider funktioniert das nicht.

Fehler:
Bitmap.SaveToClipBoardFormat(MyFormat,AData,APalet te);
[Pascal Fehler] UProgramm.pas(120): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen

ClipBoard.SetAsHandle(MyFormat,AData);
[Pascal Fehler] UProgramm.pas(121): E2003 Undefinierter Bezeichner: 'ClipBoard'

LG Chris

bitsetter 10. Aug 2007 11:32

Re: TBitmap in die Zwischenablage kopieren
 
Moin,

so müsste es funktionieren:
Delphi-Quellcode:
 uses
  Clipbrd;

procedure TForm1.Button1Click(Sender: TObject);
var
  MyFormat : Word;
  Bitmap : TBitMap;
  AData : THandle;
  APalette : HPALETTE;
begin
  Bitmap := TBitmap.Create;
  try
    Bitmap.LoadFromFile('c:\Program Files\Common Files\Borland Shared\Images\Splash\256color\factory.bmp');
    Bitmap.SaveToClipBoardFormat(MyFormat,AData,APalette);
    ClipBoard.SetAsHandle(MyFormat,AData);
  finally
    Bitmap.Free;
  end;
end;

MarioTheKing 5. Nov 2008 09:13

Re: TBitmap in die Zwischenablage kopieren
 
Es geht noch einfacher:

[delphi]

procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap : TBitMap;
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile('c:\Program Files\Common Files\Borland Shared\Images\Splash\256color\factory.bmp');
clipboard.Assign(Bitmap);
finally
Bitmap.Free;
end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz