新增自己的訊息處理到目標窗體內

2021-06-26 15:28:03 字數 582 閱讀 5610

有時候注入到乙個窗體程序內,需要同時響應窗體內的訊息時候,我們可以這樣做

1、寫個自己處理訊息的例程

function wndproc(hwnd,msg,wparam,lparam:longint):lresult; stdcall;

begin

case msg of

wm_keydown: begin

//處理訊息

end;

end;

//繼續向下傳遞

result:=callwindowproc(oldproc,hwnd,msg,wparam,lparam);

end;

2、將自己的例程插入到窗體訊息佇列中

var

oldproc:farproc;

begin

oldproc:=farproc(getwindowlong(窗體的控制代碼,gwl_wndproc));

setwindowlong(窗體的控制代碼,gwl_wndproc,longint(@wndproc));

end;

VC 新增自己的訊息函式

有時候我們需要新增自己的訊息函式來完成特定的功能,新增訊息函式有3個步驟 1.在stdafx.h中,新增訊息函式的巨集定義 define wm my message wm user 102 其中wm user是vc提供給我們定義自己的訊息函式的。2.在要使用的類的.h檔案裡面新增函式宣告 lresu...

MFC中新增自己定義的訊息

由於自己要做乙個拼音輸入模組,比如我按下a鍵後,讓它產生乙個訊息,在訊息處理函式裡去搜尋a所對應的漢字。由於系統似乎沒有提供相應的訊息,所以我自己定義了乙個!具體做法如下 整合開發環境vs2005 基於mfc對話方塊的程式 首先在 dlg.h的開頭新增 define wm mymessage wm ...

WPF 處理滑鼠點選窗體內空白區域的事件

有時需要顯示全屏的背景有透明度的窗體,用於訊息提示,使用者點選透明區域將窗體關閉。假設窗體中有1個控制項 或者其他控制項 顯示提示資訊,點選窗體中除之外的區域,窗體自動關閉。可以在window和image上,都訂閱mouseleftbuttonup事件。private void window mou...