MFC在不同的類窗體之間傳遞訊息

2021-08-09 18:13:42 字數 985 閱讀 4297

接收訊息窗體,cmainframe 

1 首先在頭中定義訊息:例如

#indefine wm_mymessage (wm_user+100)

wm_mymessage是定義的巨集:

定義訊息處理函式。 

訊息處理函式為訊息目標類的成員函式。首先應該在.h 檔案中宣告。這裡以主視窗類為例,主視窗類名 cmainframe,則首先在cmainframe.h宣告訊息處理函式。

public: 

afx_msg lresult oncurtaskchanged(wparam wparam, lparam lparam);

3.在cmainframe.cpp中實現訊息處理函式

lpesult cmaindialog::oncurtaskchanged(wparam wparam, lparam lparam) 

4.在cmainframe.cpp中對映訊息id和訊息處理函式

begin_message_map(cmainframe, cmdiframewnd) 

//}afx_msg_map

end_message_map()

5、在cmainframe中建立非模態對話方塊,通過按鈕click::ondialogtest

void cmainframe::ondialogtest

() //todo: add your command handler code here

}

在對話方塊cam_testdlg中傳送訊息

cmainframe *pframe;

pframe = (cmainframe*)afxgetmainwnd();

postmessagew(pframe->m_hwnd, wm_my_message, null , null);

MFC 不同窗體之間變數呼叫

1 主對話方塊包含乙個tab控制項,tab控制項用來切換顯示若干子對話方塊,子對話方塊類的成員需要互相訪問。2 或者程式中包含多個類,各類之間需要互相訪問。詳情參見文章 mfc乙個類訪問另乙個類成員物件的成員變數值 路人淺笑 與方法1類似,只不過定義的指標變數在類的實現cpp檔案中,是全域性變數。t...

窗體之間的引數傳遞

1 form1中新增兩個button和乙個textbox 2 在form1中新增乙個字段屬性。public string msg 3 在form2中新增乙個label 4 在form2中新增乙個屬性 public string msgset 5 過載form2的建構函式 public form2 f...

Flaskful 在不同請求之間傳遞資料

flask 本身不提供快取,但是它的基礎庫之一werkzeug有一些非常基本的快取支援。from flask restful import resource,api,reqparse import requests import json gevent from gevent import monk...