在mfc中使用SendMessage傳送結構體引數、字串陣列、字串
阿新 • • 發佈:2019-02-14
在stdafx.h中新增:
#define TTMSG_WARNLIST1 5000
在A.cpp中
B.sendhwnd = this;
傳送:
1)字串陣列
在A.cpp中
CStringArray strArryWarn;
CString lsv_Content="加入內容";
strArryWarn.Add(lsv_Content);
sendhwnd->SendMessage(TTMSG_WARNLIST1, (WPARAM)0, (LPARAM)(&strArryWarn));
2)結構體
在A.h中宣告結構體:
struct _tf_data { char Id[20]; int x ; int y ; }TF_DATA;
在A.cpp中
TF_DATABA pWarnData = *pWarnIndex;
sendhwnd->SendMessage(TTMSG_WARNLIST1, (WPARAM)0, (LPARAM)(&pWarnData));
3)字串
在A.cpp中
CString lsv_Content = "內容"; pDlg->sendhwnd->SendMessage(TTMSG_WARNLIST1, (WPARAM)0, (LPARAM)(lsv_Content.GetBuffer(lsv_Content.GetLength()))); lsv_Content.ReleaseBuffer();
接收:
在B.h檔案中宣告:
afx_msg LRESULT OnTTwarnListMsg1(WPARAM wParam, LPARAM lParam);
CWnd* sendhwnd;
在B.cpp檔案中使用
LRESULT B::OnTTwarnListMsg1(WPARAM wParam, LPARAM lParam) { (1)CStringArray *strArryWarn = (CStringArray*)lParam; (2)TF_DATA *pWarnDataIn = (TF_DATA*)lParam; (3)CString *strWarn = (char*)lParam; }