这样该怎么做啊?? 若是 从A窗口中的editbox里输入一串数点击确定后在B窗口的editbox里显示出来 这样该怎么做啊? 我已包含头文件,声明各对象,但还是没整出来。help~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在A窗口中调用B窗口的指针,将A窗口的EditBox内容赋给B窗口的EditBox 也可发送消息假若A窗口和B窗口都应是主窗口类下的一个成员定义消息名:#define 消息名(如UWM_SEND_AWND_TEXT) (WM_APP + 0x100)//主窗口类Class 主窗口类(如CMainFrame或 CMyMainDlg等){ CAwnd m_aWnd; CBwnd m_bWnd;proteted: afx_msg LRESULT [得到消息函数名](WPARAM,LPARAM); }//BEGIN_MESSAGE_MAP(CTestDlg, CDialog) ON_MESSAGE(消息名,得到消息函数名) //END_MESSAGE_MAP()//得到消息函数实体LRESULT 主窗口类::得到消息函数名(WPARAM wParam, LPARAM lParam){ //这里只示例传来的是CString 类型对象,如果是CRect等任意类型对象要变为 //CRect *pRect =(CRect)wParam; CRect m_rect = *pRect; ...... LPCTSTR * pText = (LPCTSTR *)wParam; CString getText= *pText; m_bWnd.设置值的函数(getText); //实现将A窗体传来的字串wParam设置到B窗体 return 0;}Class CAwnd{}CAwnd::要传出的函数名(如点击按纽或编辑框的EN_CHANGE事件){ UpdateData(TRUE); [要传出的变量类型] myObj; //如CString myObj; CRect myObj等 ::SendMessage(AfxGetApp()->GetMainWnd()->GetSafeHwnd(),消息名,(WPARAM)&myObj, 0);} class CBwnd{}CBwnd::设置值的函数(CString getStr){ m_edtStr1= getStr; UpdateDate(FALSE);} 如果不是主窗口的成员变量只需要将主窗口类中的消息响应函数移到CBwnd类中在CAwnd类中发消息到CBwnd类对象的句柄即可::SendMessage(m_Bwnd.GetSafeHwnd(),消息名,(WPARAM)&myObj, 0); 想做个远程视频教学系统,请教各位前辈和大牛 VC2005 控件与字符串关联问题 取得桌面的大小? 请教:两个edit控件内容传输问题 我要调试我的动态连接库,我应该如何设置settings,请大家帮帮我! CRecordset opencv+mfc 如果同时显示两个摄像画面? 中程答案出来没有 啊? 有关ADO的问题,希望高手指点 MFC中怎么使Webbroser的数据加载完以后再继续运行cpp中的代码? 这段代码错在什么地方?为什么hwnd从CreateDialog返回会是0x00000000,我犯了什么错误?怎么改? 请教一个简单VC指针问题!
假若A窗口和B窗口都应是主窗口类下的一个成员定义消息名:
#define 消息名(如UWM_SEND_AWND_TEXT) (WM_APP + 0x100)//主窗口类
Class 主窗口类(如CMainFrame或 CMyMainDlg等)
{
CAwnd m_aWnd;
CBwnd m_bWnd;
proteted:
afx_msg LRESULT [得到消息函数名](WPARAM,LPARAM);
}//BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
ON_MESSAGE(消息名,得到消息函数名)
//END_MESSAGE_MAP()//得到消息函数实体
LRESULT 主窗口类::得到消息函数名(WPARAM wParam, LPARAM lParam)
{
//这里只示例传来的是CString 类型对象,如果是CRect等任意类型对象要变为
//CRect *pRect =(CRect)wParam; CRect m_rect = *pRect; ......
LPCTSTR * pText = (LPCTSTR *)wParam;
CString getText= *pText;
m_bWnd.设置值的函数(getText); //实现将A窗体传来的字串wParam设置到B窗体 return 0;
}Class CAwnd
{}CAwnd::要传出的函数名(如点击按纽或编辑框的EN_CHANGE事件)
{
UpdateData(TRUE);
[要传出的变量类型] myObj; //如CString myObj; CRect myObj等
::SendMessage(AfxGetApp()->GetMainWnd()->GetSafeHwnd(),消息名,(WPARAM)&myObj, 0);
} class CBwnd
{}
CBwnd::设置值的函数(CString getStr)
{
m_edtStr1= getStr;
UpdateDate(FALSE);
}
只需要将主窗口类中的消息响应函数移到CBwnd类中
在CAwnd类中发消息到CBwnd类对象的句柄即可
::SendMessage(m_Bwnd.GetSafeHwnd(),消息名,(WPARAM)&myObj, 0);