程序中有一个主对话框和两个子对话框,都要用CMSComm这个控件,我在主对话框中加入这个控件,并创建了一个对象,请问在子对话框中怎样访问?我在子对话框中用CParDlg::m_ctrlComm.GetPortOpen();
为什么老报错error C2228: left of '.GetPortOpen' must have class/struct/union type
其中CParDlg是主对话框,m_ctrlComm是一个控件的对象
为什么老报错error C2228: left of '.GetPortOpen' must have class/struct/union type
其中CParDlg是主对话框,m_ctrlComm是一个控件的对象
得:
'm_ctrlComm' : is not a member of 'CWnd'怎么办啊?
CMSComm *pCOM;
然后在主对话框调用子对话框时把指针传过去
CChildDlg dlg;
dlg.pCOM = &m_ctrlComm;
dlg.DoModal();
CChildDlg *pdlg;
pdlg= new CChildDlg(m_ctrlComm) ;
pdlg->DoModal();
不好意思漏了括号
先强制类型转换
CParApp* myapp=(CParApp*)AfxGetApp();
((CParDlg*)myapp->m_pMainWnd)->m_ctrlComm.GetPortOpen();