Programowanie w języku Delphi » FAQ

Jak sprawdzić jaki typ danych jest w schowku

  • 2006-04-16 11:45
  • 3 komentarze
  • 608 odsłon
  • Oceń ten tekst jako pierwszy
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;

3 komentarze

Legalnl 2012-01-26 22:36

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

Adam Boduch 2006-04-16 11:12

Hehe, czemu podejrzanie? :D

AklimX 2006-04-15 22:38

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