一 在應用程式自定義訊息方法

2021-06-06 05:35:06 字數 867 閱讀 7994

一、在應用程式自定義訊息方法:

一般自定義訊息有一定的範圍,雖然說自定義訊息從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訊息為基礎加上乙個任意的自然...