一、在應用程式自定義訊息方法:
一般自定義訊息有一定的範圍,雖然說自定義訊息從wm_user開始,但是由於我們的工程裡面一般還有很多其他的控制項,他們也要占用一部分wm_user訊息範圍,所以我們必須為他們留出一部分範圍,這裡,我們保留100個訊息,一般情況下,這可以滿足我們的要求。
(1)定義訊息的值。在我們要發生訊息的地方(例如cmyview.cpp的開始部分)或者stdafx..h檔案,進行如下定義:
#define wm_msg (wm_user+101)
接下來的工作其實很簡單,我們在前面說了,訊息正常工作有3個部分必須協調:訊息宣告、訊息對映、訊息體。我們就一次進行手工加入。
(2)首先在afx_msg塊中加入訊息宣告:在cmyview.h中,找到如下部分,並加入訊息宣告:
protected:
// }afx_msg/
(3)在message_map塊中新增on_message巨集指令:
begin_message_map(cmyview, cview)
file://}afx_msg_map/
end_message_map()
(4)新增訊息函式體:
lpesult cmyview::onmymsg(wparam wparam, lparam lparam)
afxmessagebox("訊息已經收到!");
return 0;
訊息至此就已經定義完畢,接下來我們就可以啟用訊息了,就可以用我們前面所說的postmessage/sendmessage來傳送訊息了。
如:::postmessage(hwnd,wm_msg,0,1);
postmessage:不用等訊息返回。
sendmessage:需要等訊息返回。
給GMF應用程式新增自定義Action
假設gmf為你生成的專案名稱為com.example.diagram,現在要在右鍵選單裡增加乙個自定義命令,並關聯在名為activity的模型元素上,即只有在activity型別的元素上點右鍵,彈出選單裡才有這個自定義命令。此命令的功能是簡單的把該activity的name屬性改為 modified...
MEF程式設計指南一 在應用程式中宿主MEF
在應用程式中宿主mef其實非常簡單,只需要建立乙個組合容器物件 compositioncontainer 的例項,然後將需要組合的部件 parts 和當前宿主程式新增到容器中即可。首先需要新增mef框架的引用,既system.componentmodel.composition.dll,詳細如下 塊...
在MFC中自定義訊息
首先弄清楚兩點 1 誰要傳送這個訊息 2 誰要接受這個訊息。用乙個簡單的例子來說明。物件a向b 也可以就是a到a 傳送訊息。1 傳送訊息 首先在a的標頭檔案中定義這個訊息 define wm usermessage wm user 30 所有自定義訊息都是以wm user訊息為基礎加上乙個任意的自然...