这是MySocket.cpp代码
#include "stdafx.h"
#include "MySocket.h"
#include "talkc.h"
#include "talkcDlg.h"
// CMySocket
CMySocket::CMySocket()
{
m_pDlg = NULL;
}
CMySocket::~CMySocket()
{
m_pDlg = NULL;
}
// CMySocket 成员函数
void CMySocket::OnClose(int nErrorCode)
{
// TODO: 在此添加专用代码和/或调用基类
if (nErrorCode == 0) m_pDlg->OnClose();
CAsyncSocket::OnClose(nErrorCode);
}
void CMySocket::OnConnect(int nErrorCode)
{
// TODO: 在此添加专用代码和/或调用基类
if (nErrorCode == 0) m_pDlg->OnConnect();
CAsyncSocket::OnConnect(nErrorCode);
}
void CMySocket::OnReceive(int nErrorCode)
{
// TODO: 在此添加专用代码和/或调用基类
if (nErrorCode == 0) m_pDlg->OnReceive();
CAsyncSocket::OnReceive(nErrorCode);
}
void CMySocket::SetParent(CTalkcDlg *pDlg)
{
m_pDlg = pDlg;
}
# 这是头文件代码
// talkcDlg.h : 头文件
//
#pragma once
#include "afxwin.h"
#include "MySocket.h"
#include "talkcDlg.h"
// CtalkcDlg 对话框
class CtalkcDlg : public CDialogEx
{
// 构造
public:
CtalkcDlg(CWnd* pParent = NULL); // 标准构造函数
// 对话框数据
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_TALKC_DIALOG };
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnEnChangeEdit1();
CButton m_btnConnect;
CString m_strServName;
int m_nServPort;
CString m_strMsg;
CListBox m_listSent;
CListBox m_listReceived;
afx_msg void OnButtonClose();
afx_msg void OnButtonConnect();
afx_msg void OnSendMsg();
public:
CMySocket m_sConnectSocket;
void OnClose();
void OnConnect();
void OnReceive();
};