剪貼簿的應用 |
尚未結案
|
gcleektop
一般會員 發表:7 回覆:4 積分:2 註冊:2004-03-01 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
gcleektop 您好: 請參考一下 :
http://www.expertsexchange.com/Operating_Systems/WinNT/Q_20292446.html 的文章 有相當多有用的資訊 ... 我玩了一下,還蠻有趣的,感謝您引我進入 Clipboard 的世界.. 首先,簡要說明一下 class="code">
if Clipboard.Formats[I] = CF_BITMAP then
begin
try
Bitmap := TBitmap.Create;
Bitmap.LoadFromClipboardFormat (CF_BITMAP,Clipboard.GetAsHandle(CF_BITMAP),0);
Bitmap.SaveToFile('C:\1.bmp');
finally
FreeAndNil(Bitmap);
end;
end;
利用 for I := 0 to Clipboard.FormatCount - 1 可以列舉
Clipboard 目前有資料的型態... 然後針對您需要的資料去擷取,然後再存檔,便可達到您的目的了.. 不過要小心 Clipboard Chain ,開啟 Clipboard 後,用完要釋放..
不然會 lose 資料,或是發生鎖死的狀況... Windows API :
EnumClipboardFormats,GetClipboardFormatName,GetClipboardData
OpenClipboard,CloseClipboard 查閱 Delphi 的 Windows SDK 的 SetClipboardData ..
有片段的關於 Clipboard 資料結構的資訊.. ----
我只會兩件事,這也不會,那也不會 眼見不一定為真
----
|
gcleektop
一般會員 發表:7 回覆:4 積分:2 註冊:2004-03-01 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
引言: 感謝SouthWind回覆, 可是所建議參考網站一直點不進去, 我主要是要從WORD剪貼, 非純文字, 也非圖檔, 怎麼辦?這個問題就蠻複雜的,根據我自己寫的一個小工具.. 光是 copy WORD 文字部分就有許多不同的資料型態 .. Ex: Rich Text , OLE Private Data .. 如果框起來 copy 的地方還有圖檔,那當然還會有 CF_BITMAP .. 您可以先將 clipboard 傳回的資料型態先列舉出來 .. 利用 GetClipboardFormatName 找出沒有被 Delphi 定義的型態.. 再逐一將資料取回... var PStr:PAnsiChar; for I := 0 to Clipboard.FormatCount - 1 do begin case Clipboard.Formats[I] of CF_TEXT: {....}; CF_BITMAP: { ...}; .... else GetClipboardFormatName(Clipboard.Formats[I], PStr, 30); end; end;不過既然是 Word , 可有想過從 OLE 的方面下手?? 也許您的問題 並不一定要經過 Clipboard 才能傳遞?? 轉個彎也許柳暗花明?? ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |