請問ChangeClipboardChain二個參數的設定 |
尚未結案
|
0908
一般會員 發表:10 回覆:4 積分:2 註冊:2002-12-31 發送簡訊給我 |
|
0908
一般會員 發表:10 回覆:4 積分:2 註冊:2002-12-31 發送簡訊給我 |
等了這麼多天還是沒答案啊!或許是小弟沒講清楚吧!SetClipBoardViewer這個API主要的是指將指定的視窗加入Clipboard裡的檢視裡去當WIN32中Clipboard裡資料是否有所改變時他都會接收到一個訊息!TWMDRAWCLIPBOARD!當然我們要為這個自定消息寫一個程式如下:
先定義這個消息:
procedure WMDrawClipBoard(var Msg:TWMDrawClipBoard);
message WM_DRAWCLIPBOARD;
在implementation下定義程式如下:
procedure TForm1.WMDrawClipBoard(var Msg:TWMDrawClipBoard);
begin
inherited//自定消息一定要呼叫父類
if ClipBoard.HasFormat(CF_BITMAP) then //只限定BITMAP格式
mmiPaste.Enabled:=True
else
mmiPaste.Enabled:=False;
Msg.Result:=0;
end;
這個程式很簡單當應用程式的ClipBoard資料一旦有所更動時那麼SetClipBoardViewer將接收到這個消息如果是BITMAP格式就將選單上Paste變為有效否則為不能使用狀況!SetClipBoardViewer這個API只有一個參數需設定自己視窗的Hwnd!但當應用程式關閉時必須要保存他的返回值,因此必須要在Destroy事件中使用ChangeClipboardChain這個API函數來恢復ClipBoard的狀態
那麼ChangeClipboardChain這個API函數他有二個參數我知道第二個參數是指自己視窗的Hwnd但我搞不太清楚第一個參數是指那個Hwnd呢?我不知道這樣寫有沒有人看懂! suen
------
孫鍾銳 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |