日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

delphi 剪切板变量_delphi剪切板-监视剪贴板

發(fā)布時間:2023/12/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delphi 剪切板变量_delphi剪切板-监视剪贴板 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls,

Clipbrd, jpeg; //Clipboard使用

type

TForm1 = class(TForm)

Image1: TImage;

ListBox1: TListBox;

Image2: TImage;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure ListBox1Click(Sender: TObject);

private

{ Private declarations }

//處理WM_DRAWCLIPBOARD消息過程

procedure WMDrawClipBoard(var AMessage:TMessage);message WM_DRAWCLIPBOARD;

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

var

//觀察鏈中下一個窗口句柄

NextClipHwnd:HWND;

{ TForm1 }

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

//從觀察鏈中刪除本觀察窗口

ChangeClipboardChain(Handle, NextClipHwnd);

//將WM_DRAWCLIPBOARD消息傳遞到下一個觀察鏈中的窗口

SendMessage(NextClipHwnd, WM_CHANGECBCHAIN, Handle, NextClipHwnd);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

//獲得觀察鏈中下一個窗口句柄

NextClipHwnd := SetClipBoardViewer(Handle);

end;

procedure TForm1.ListBox1Click(Sender: TObject);

begin

if ListBox1.Items.Count >= 0 then

if ListBox1.Items.Strings[ListBox1.ItemIndex] ?='Bitmap' ?then

begin

Clipboard.Open;

Clipboard.Clear;

Clipboard.SetAsHandle(CF_BITMAP, Image1.Picture.Bitmap.Handle);

Clipboard.Close;

end

else

begin

Clipboard.Open;

ClipBoard.Clear;

Clipboard.AsText := ListBox1.Items.Strings[ListBox1.ItemIndex];

ClipBoard.Close;

end;

end;

procedure TForm1.WMDrawClipBoard(var AMessage: TMessage);

begin

//將WM_DRAWCLIPBOARD消息傳遞到下一個觀察鏈中的窗口

if NextClipHwnd <> 0 then

SendMessage(NextClipHwnd, AMessage.Msg, AMessage.WParam, AMessage.LParam);

//處理剪貼板中內(nèi)容

if Clipboard.HasFormat(CF_TEXT) or Clipboard.HasFormat(CF_OEMTEXT) then

begin

//查詢剪貼板中特定格式的數(shù)據(jù)內(nèi)容

ListBox1.Items.Add(Clipboard.asText + '...');

end;

if Clipboard.HasFormat(CF_BITMAP) then

begin

ListBox1.Items.Add('Bitmap');

Image1.Picture.Bitmap.LoadFromClipboardFormat(CF_BITMAP, clipboard.GetAsHandle(CF_BITMAP), 0);

end;

end;

end.

總結(jié)

以上是生活随笔為你收集整理的delphi 剪切板变量_delphi剪切板-监视剪贴板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。