无模式对话框不关掉,怎样可以接受其他控件传来的值?!

DataSpatial 2004-05-08 06:29:52
CString CSuperusGPSCell::RemoteCell(CString& sSIMNum)
{
CString sOut;
CTianHeDlg TianHeDlg;
TianHeDlg.m_sCarTelNum=sSIMNum;
TianHeDlg.DoModal();
sOut=TianHeDlg.m_sCarTelNum+":"+TianHeDlg.m_sContent;
}

//OnCmdbtn25是TianHeDlg上的一个按钮
void CTianHeDlg::OnCmdbtn25()
{

m_sContent.Format("*HQ,001,S12,%s,E2#",GetStrCurrentTime());
CDialog::OnOK();
}


我的问题是:
怎样让TianHeDlg对话框不关闭,程序却可以执行到sOut=TianHeDlg.m_sCarTelNum+":"+TianHeDlg.m_sContent;
也就是OnCmdbtn25()中的m_sContent可以传到TianHeDlg.m_sContent?

请前辈赐教!!!
...全文
27 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
DataSpatial 2004-05-09
不好意思,我的标题错了,应该是:“模式对话框不关掉,怎样可以接受其他控件传来的值?!”

谢谢!!!
  • 打赏
  • 举报
回复
xiaoqiqixiao 2004-05-09
很奇怪的问题:
你的OnCmdbtn25中调用了CDialog::OnOK(),那么对话框又怎么能不关掉呢;
我们假设你可以做到,那么如果对话框不关掉,那么如果你多按了几次OnCmdbtn25,那么,这个值算哪个对呢?
如果你希望实时的改变CSuperusGPSCell类的某个或某些值,比较干脆的做法是在CTianHeDlg中保存一个CSuperusGPSCell的一个指针m_pParent;
插在
CTianHeDlg TianHeDlg;
TianHeDlg.m_sCarTelNum=sSIMNum;
TianHeDlg.m_pParent = this;
TianHeDlg.DoModal();
然后在
void CTianHeDlg::OnCmdbtn25()
{
m_pParent->.....
}
中,你爱做什么就做什么了。
  • 打赏
  • 举报
回复
0xCC0xCC 2004-05-09
为什么不用非模式对话框?
  • 打赏
  • 举报
回复
Jarrylogin 2004-05-08
在TianHeDlg的WM_INITDIALOG消息中的OnInitDialog()函数中添加
CString sOut;
TianHeDlg.m_sCarTelNum=sSIMNum;
sOut=TianHeDlg.m_sCarTelNum+":"+TianHeDlg.m_sContent;
然后在运行
CString CSuperusGPSCell::RemoteCell(CString& sSIMNum)
{CTianHeDlg TianHeDlg;
TianHeDlg.DoModal();
}
就可执行到了
  • 打赏
  • 举报
回复
wangjs720 2004-05-08
DoModal出来的对话框不关掉,就没有办法再往下执行
  • 打赏
  • 举报
回复
ygzdev 2004-05-08
1.用模式对话框
2.就在TianHeDlg对话框的内部处理
3.在TianHeDlg对话框的内部发消息,外面处理.

你看选哪种
  • 打赏
  • 举报
回复
相关推荐
发帖
界面
加入

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2004-05-08 06:29
社区公告
暂无公告