請問如何讓TEdit無法[複製][貼上]? |
尚未結案
|
nicolas
一般會員 ![]() ![]() 發表:39 回覆:40 積分:15 註冊:2004-05-05 發送簡訊給我 |
|
richtop
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
|
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
RogerHer
一般會員 ![]() ![]() 發表:11 回覆:39 積分:10 註冊:2002-03-13 發送簡訊給我 |
這些熱鍵沒記錯的話應是會觸發 WM_COPY、WM_PASTE 及 WM_CUT ,所以讓這些熱鍵失效的一個方法就是乎略掉這些訊息---
var OldWndProc : Pointer; // 儲存原本的視窗處理函式位址 : implementation {$R *.dfm} function MyWindowProc( Handle : HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM ) : LRESULT; stdcall; begin if (Msg = WM_COPY) or (Msg = WM_PASTE) or (Msg = WM_CUT) then Msg := WM_NULL; (* 呼叫原本的視窗處理函式 *) Result := CallWindowProc( OldWndProc, Handle, Msg, WParam, lParam ); end; procedure TForm1.FormCreate(Sender: TObject); begin Integer(OldWndProc) := SetWindowLong( Edit1.Handle, GWL_WNDPROC, integer(@MyWindowProc) ); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |