1. 程式人生 > >在mfc中使用SendMessage傳送結構體引數、字串陣列、字串

在mfc中使用SendMessage傳送結構體引數、字串陣列、字串

在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;
}