Clipboard中的资料如何添加到数据表中? |
尚未結案
|
hrbshen
一般會員 發表:10 回覆:11 積分:4 註冊:2005-04-12 發送簡訊給我 |
|
JackTasy
初階會員 發表:22 回覆:97 積分:28 註冊:2002-06-06 發送簡訊給我 |
以下程式片段可以即時自動的把Clipboard中文字內容或圖片反應呈現出來。你可自行判斷資料種類然後做任何需要的應用,例如你提到的添加到数据库中。
先在 Form 上面放上 RichEdit1 和 Image1 兩個元件,然後程式碼如下:
unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ComCtrls; type TForm3 = class(TForm) RichEdit1: TRichEdit; Image1: TImage; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } procedure WMDrawClipboard (var message : TMessage); message WM_DRAWCLIPBOARD; procedure WMChangeCBCHain (var message : TMessage); message WM_CHANGECBCHAIN; public { Public declarations } end; var Form3: TForm3; implementation {$R *.dfm} { TForm3 } uses ClipBrd, ShellApi; var MangoSiguienteVisor : THandle; procedure TForm3.WMChangeCBCHain(var message: TMessage); begin if message.wParam = MangoSiguienteVisor then begin MangoSiguienteVisor := message.lParam; message.Result := 0; end else begin message.Result := SendMessage(MangoSiguienteVisor, WM_CHANGECBCHAIN, message.wParam, message.lParam); end; end; procedure TForm3.WMDrawClipboard(var message: TMessage); begin message.Result := SendMessage(WM_DRAWCLIPBOARD, MangoSiguienteVisor, 0, 0); if Clipboard.HasFormat(CF_TEXT) then RichEdit1.Text := Clipboard.AsText else if Clipboard.hasFormat(CF_BITMAP) then with Image1.Picture.Bitmap do LoadFromClipboardFormat(CF_BITMAP, ClipBoard.GetAsHandle(CF_BITMAP),0); end; procedure TForm3.FormCreate(Sender: TObject); begin MangoSiguienteVisor := SetClipboardViewer(Handle); end; procedure TForm3.FormDestroy(Sender: TObject); begin ChangeClipboardChain(Handle, MangoSiguienteVisor); end; end.JackTasy
------
JackTasy |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |