CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

请问怎么在一个DLG中向另一个DLG传值?

楼主bristy(一踏糊涂)2006-07-03 17:52:53 在 VC/MFC / 界面 提问

我想在一个DLG中得到第一个列的LOGIN值,代码如下:  
  其中m_Listusers是列表控件的成员,m_user_total是得到的所有行的最大值,m_user是一个struct指针  
  现在想把在这个列表中的选中的LOGIN值传到另一个对话框中,并用它的值初始化那个对话框的LOGIN栏,请问要怎么做,还有就是我下面这个代码在运行时会出错。出错代码如下:  
  :\work   for   vc\CreditBox\GetUsers.cpp(106)   :   error   C2664:   'Credit::Credit'   :   cannot   convert   parameter   1   from   'int'   to   'class   CWnd   *'  
                  Conversion   from   integral   type   to   pointer   type   requires   reinterpret_cast,   C-style   cast   or   function-style   cast  
  请问怎么改进?  
  代码如下:  
   
  void   GetUsers::OnDblclkListUsers(NMHDR*   pNMHDR,   LRESULT*   pResult)    
  {  
  //   TODO:   Add   your   control   notification   handler   code   here  
   
  if(*pResult!=NULL)*pResult   =   0;  
        //_________________________________________________________  
  POSITION   pos=m_Listusers.GetFirstSelectedItemPosition();  
          int             i=-1,login=0;  
          if(pos!=NULL   &&   (i=m_Listusers.GetNextSelectedItem(pos))>=0   &&   i<m_user_total)  
                  login=m_user[i].login;  
        Credit   dlg(login);  
        dlg.DoModal();  
  } 问题点数:100、回复次数:4Top

1 楼EddieCai()回复于 2006-07-03 17:58:22 得分 0

lz,这不叫运行时出错,这是编译时出错。  
  出错的原因在Credit   dlg(login);这一行。  
  Credit的构造函数要求一个CWnd   *型的参数,你传一个int给它当然不对啊。你改成Credit   dlg(this);看看。Top

2 楼EddieCai()回复于 2006-07-03 18:00:41 得分 60

另外你要在GetUsers对话框中传值进Credit对话框,那你可以在Credit里加一个方法,例如void   Init(int   data),在dlg.DoModal();前调用,把相应的值传递进Credit,然后在Credit的OnInitDialog里使用这个传进来的值进行控件的相应初始化。Top

3 楼xqk(夏乾坤)回复于 2006-07-03 20:47:08 得分 40

Credit   dlg(this);       就可以了,指定当前窗口为父窗口  
   
  该对话框需要的是一个父窗口的CWnd*   指针Top

4 楼bristy(一踏糊涂)回复于 2006-07-04 14:04:38 得分 0

问题解决,谢谢两位Top

相关问题

关键词

得分解答快速导航

  • 帖主:bristy
  • EddieCai
  • xqk

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo