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

怎样在两个类中相互调用其成员

楼主timetokill(职业杀手)2003-08-03 18:08:53 在 VC/MFC / 基础类 提问

我定义两个类,一个对话框类,一个SOCKET类,首先:对话框类调用SOCKET类成员,我用增加头文件的办法可以搞定。但是由于工作的需要,SOCKET类工作的情况要在对话框的控件中显示出来,用加头文件的办法是不行的,曾考虑用消息机智来实现,但我在SOCKET类中发的消息只能在STATIC,EDIT这种控件中显示出来,而象LISTBOX控件就不行,请高手指点,在此谢谢啦 问题点数:0、回复次数:3Top

1 楼staticip(staticip)回复于 2003-08-03 18:25:22 得分 0

可以直接调用成员函数,不需要加头文件。  
   
  socket类的h文件上加入对话框类的声明,而不是include对话框的h文件:  
   
  class   CMyDialog;  
   
  class   CMySocket  
  {  
  private:  
          CMyDialog   *   m_pDlg;  
  };  
   
  然后在socket的cpp文件中include对话框的h文件,就可以随意调用对话框类的成员。  
  Top

2 楼autfx(边城浪子)回复于 2003-08-03 18:59:36 得分 0

也可以再  
  APP中定义一个CSocket   *pSocket;  
  在你的CSocket   初始的时候  
  ((××App   *)AfxGetApp())->pSocket=this;  
  最后在对话框中调用((××App   *)AfxGetApp())->pSocket->...;  
  就可以了  
  Top

3 楼kui(kui)回复于 2003-08-03 19:50:08 得分 0

在SOCKET类中发的消息也有它的好处,它可等待有空时再处理。  
  ::PostMessage(AfxGetApp()->m_pMainWnd->m_hWnd,WM_COMMAND,ID_MYMSG,0);  
   
  在对话框文件中对消息ID_MYMSG进行处理。在对话框文件中处理LISTBOX控件也是行的。  
  Top

相关问题

  • 类如何相互调用?
  • 线程如何调用类成员?
  • 求助:类的相互调用
  • 类的相互调用问题
  • 基类和派生的相互调用
  • 如何在对话框类中调用文档类的成员
  • 如何调用dll中的类和类的成员函数?
  • 请问如何在CDialog类中调用CDoc的成员函数!
  • 怎样从CMainFrame中调用DOCUMENT类中的PUBLIC成员!谢谢!
  • 怎么调用另一个类的protected成员函数?

关键词

  • 文件
  • 控件
  • 消息
  • socket
  • 对话框
  • 调用
  • 类
  • 成员
  • afxgetapp
  • psocket

得分解答快速导航

  • 帖主:timetokill

相关链接

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

广告也精彩

反馈

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