1. 程式人生 > >MFC中Wnd.PostMessage()的作用

MFC中Wnd.PostMessage()的作用

看程式中碰到一個監視類,裡面的核心函式就是這個PostMessage()一直不懂有什麼用。
網上對這個函式的講解也不是很多,這裡將零碎的知識進行歸納一下。

簡單的說就是將資訊傳送到訊息佇列並通知視窗取訊息。
我們要實現視窗之間的通訊,這是個比較難的問題,一般的方法有在A窗口裡面定義B視窗的指標,然後通過指標獲取B視窗的訊息。
在Qt裡面能夠通過訊號與槽的方法實現訊息之間的傳遞,而這個的PostMessage()函式也能做到將視窗B的訊息傳送給A的作用。

int PostMessageA 
{
	HWND hWnd;
	UINT Msg;
	WPARAM wParam;
	LPARAM lParam;
}

//第一個引數,視窗控制代碼。
//第二個,訊息值 以WM_開頭的常量 具體查MSDN。。
//比如 WM_LBUTTONDOWN 滑鼠左鍵按下, 比如 PostMessageA(hWnd, WM_LBUTTONDOWN,0,0)
//就相當於在這個視窗單擊了一下滑鼠左鍵
//
//第三個,訊息附加引數,其作用和第二個引數Msg有關
//第四個, 同上