我目前所做的情况如下:
我新建了一个基于对话框的应用程序,然后Insert一个new class,基类为CAsyncSocket,在新建的这个类的源文件中调用OnReceive函数来进行数据的接收,并在对话框的源文件中添加代码使所接收到的代码在对话框中进行显示。我想问一下,如果想用一个按钮控件来控制数据是否开始接收(即OnRecive函数是否执行)的话,该怎么办呢?
按钮的单击事件是不是只能在对话框的源文件中进行添加呢?
但OnRecive函数是基于CAsyncSocket类的,是不是不能把这一函数放到对话框的源文件中呢?
如果要实现按钮的这一控制功能该怎么办呢?请各位帮忙了……

解决方案 »

  1.   

    那我觉得你应该用按钮来控制显示,而不是来控制接收(OnReceive)
      

  2.   

    我想你的意思是想用按钮来控制是否接收
    定义一个基于CAsyncSocket的变量,在按钮事件里执行OnReceive就可以开始接受了
    判断按钮的状态,接收或暂停接收
    要想显示在对话框中的控件里,需要给相应控件添加变量,控制控件的显示就可以了
      

  3.   

    可以在CAsyncSocket设一个bool型的静态变量,在对话框的类相应按钮消息的函数里来控制这个变量的值,CAsyncSocket类的OnReceive函数就可以根据这个静态的bool型变量来做判断
      

  4.   

    “如果想用一个按钮控件来控制数据是否开始接收(即OnRecive函数是否执行)的话,该怎么办呢?”
    为什么要控制数据接收啊?在新建的这个类的源文件中调用OnReceive函数来进行数据的接收,并在对话框的源文件中添加代码使所接收到的代码在对话框中进行显示。可以这么做:把收到的数据放到一个缓冲区中,另外一个线程实时检查这个缓冲区是否存在有新收到的数据,有则通知界面来显示,如发送消息等。或者直接收到数据就激发一个消息事件,该消息处理函数中显示收到的数据。
      

  5.   

    OnReceive()函数是基于CAsyncSocket类的,而按钮的单击事件是基于对话框类的,OnReceive函数可以写在对框框类中吗?运行的时候会不会报错?