且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SDI MFC C ++

更新时间:2022-04-27 15:21:49

你好,

你可以使用CopyData消息。

you can use CopyData message.

在你的对话框中,你可以发送如下:

In your Dialog, you can send as following:

m=10; // user input

COPYDATASTRUCT cpdata;
cpdata.cbData = 999; //函数标识符
cpdata.dwData = 1; //消息类型
cpdata.lpData =(PVOID)& m; //这个你要保存在文件

AfxGetMainWnd() - > SendMessage(WM_COPYDATA,(WPARAM)0,(LPARAM)(LPVOID)& cpdata);

COPYDATASTRUCT cpdata; cpdata.cbData = 999; // function identifier cpdata.dwData = 1; // message type cpdata.lpData = (PVOID)&m; // this you want to save in document AfxGetMainWnd()->SendMessage(WM_COPYDATA, (WPARAM)0, (LPARAM)(LPVOID)&cpdata);

在CMainframe中,你覆盖OnCopyData(在类向导中添加WM_COPYDATA的事件处理程序):

In CMainframe, you overwrite OnCopyData (add the event handler for WM_COPYDATA in class wizard):

BOOL CMainFrame::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
  if (pCopyDataStruct && pCopyDataStruct->cbData == 999 && pCopyDataStruct->dwData == 1)
  {
     GetDocument()->m = *(pCopyDataStruct->lpData);

    return TRUE;
  }

  return CSDIFrameWndEx::OnCopyData(pWnd, pCopyDataStruct); // I don't know the base class but class wizard does it for you
}




问候,Guido


Regards, Guido