Delphi FAQ

Jak sprawdzić jaki typ danych jest w schowku

Adam Boduch

Należy skorzystać z modułu Clipbrd; Następnie możesz sprawdzić, czy w schowku jest tekst, bitmapa itp:

uses Clipbrd;
 
var
  img : TBitmap;
begin
  try
 
    if Clipboard.HasFormat(CF_TEXT) then
        ShowMessage(ClipBoard.AsText);
 
    if Clipboard.HasFormat(CF_BITMAP) then
    begin
      img := TBitmap.Create;
      try
        img.Assign(ClipBoard);
        img.Width := 120;
        img.Height := 100;
        Canvas.Draw(0, 0, img);
      finally
        img.Free;
      end;
    end;
 
  except
    raise Exception.Create('Nie ma nic w schowku!');
  end;
 
end;

Możliwe parametry dla funkcji Clipboard.HasFormat()

  • CF_TEXT - tekst.
  • CF_BITMAP - bitmapa Windows;
  • CF_PICTURE - zdjęcie klasy TPicture.
  • CF_METAFILEPICT - metaplik;
FAQ

3 komentarzy

a jak będzie format png? albo jakiś inny format? bez sens.

Hehe, czemu podejrzanie? :D

Czy ten kod działa? jakoś podejrzanie wygląda...