📄 chat.cpp
字号:
// Chat.cpp : implementation file
//
#include "stdafx.h"
#include "CCETest.h"
#include "Chat.h"
#include "MySocket.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CChat dialog
CChat::CChat(CWnd* pParent /*=NULL*/)
: CDialog(CChat::IDD, pParent)
{
//{{AFX_DATA_INIT(CChat)
m_sRecv = _T("");
m_sSend = _T("");
//}}AFX_DATA_INIT
}
void CChat::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CChat)
DDX_Text(pDX, IDC_RECV, m_sRecv);
DDX_Text(pDX, IDC_SEND, m_sSend);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CChat, CDialog)
//{{AFX_MSG_MAP(CChat)
ON_MESSAGE(ON_RECEIVE, OnReceiveData)
ON_MESSAGE(ON_CLOSE, OnDisconnected)
ON_BN_CLICKED(IDC_EXIT, OnExit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CChat message handlers
void CChat::ConnectTo(SOCKET s)
{
m_peer.SetParent(this);
m_peer.AcceptServiceSocket(s);
}
LRESULT CChat::OnReceiveData(WPARAM wParam, LPARAM lParam)
{
while(m_peer.GetDataSize() > 0 && m_peer.ReadString(m_sRecv))
GetDlgItem(IDC_RECV)->SetWindowText(m_sRecv);
return 0;
}
LRESULT CChat::OnDisconnected(WPARAM wParam, LPARAM lParam)
{
CDialog::OnOK();
return 0;
}
void CChat::OnOK()
{
int len;
UpdateData();
m_sSend += "\r\n";
len = m_sSend.GetLength();
m_peer.Send(m_sSend, len);
}
void CChat::OnExit()
{
m_peer.Disconnect();
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -