📄 chat.cpp
字号:
// Chat.cpp : implementation file
//
#include "stdafx.h"
#include "Client.h"
#include "Chat.h"
#include "ClientEngine.h"
#include "SessionMessage.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CChat dialog
//##ModelId=46417F3901E2
CChat::CChat(CWnd* pParent /*=NULL*/)
: CDialog(CChat::IDD, pParent)
{
//{{AFX_DATA_INIT(CChat)
m_chatMessage = _T("");
m_sendMessage = _T("");
m_contactor = 0;
//}}AFX_DATA_INIT
}
//##ModelId=46417F3901ED
void CChat::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CChat)
DDX_Text(pDX, IDC_CHAT_EDIT, m_chatMessage);
DDX_Text(pDX, IDC_SEND_EDIT, m_sendMessage);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CChat, CDialog)
//{{AFX_MSG_MAP(CChat)
ON_BN_CLICKED(IDC_SEND_KT, OnSend)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CChat message handlers
//##ModelId=46417F3901F6
BOOL CChat::OnInitDialog()
{
CDialog::OnInitDialog();
CWnd *pEdit=GetDlgItem(IDC_SEND_EDIT);
pEdit->SetFocus();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
//##ModelId=46417F3901F8
void CChat::OnSend()
{
if(m_contactor->online == 0)
{
m_chatMessage = m_chatMessage + "\r\n" +
"The person you are chaating" +
"\r\n" + "with is offline now.";
UpdateData(FALSE);
CEdit *pEdit;
pEdit=(CEdit *)GetDlgItem(IDC_CHAT_EDIT);
int i=pEdit->GetLineCount();
pEdit->LineScroll(i,0);
CWnd *pEditSend=GetDlgItem(IDC_SEND_EDIT);
pEditSend->SetFocus();
return;
}
UpdateData();
m_sendMessage.TrimLeft();
m_sendMessage.TrimRight();
CClientEngine* engine = CClientEngine::getInstance();
CUser* user = engine->getMyseft();
if(!m_sendMessage.IsEmpty())
{
engine->sendMessage(*m_contactor, m_sendMessage);
m_chatMessage = m_chatMessage + "\r\n" +
user->name + ": " + m_sendMessage;
m_sendMessage = "";
UpdateData(FALSE);
CEdit *pEdit;
pEdit=(CEdit *)GetDlgItem(IDC_CHAT_EDIT);
int i=pEdit->GetLineCount();
pEdit->LineScroll(i,0);
CWnd *pEditSend=GetDlgItem(IDC_SEND_EDIT);
pEditSend->SetFocus();
}
}
void CChat::displayReveMessage(CString& message)
{
BringWindowToTop();
m_chatMessage = m_chatMessage + "\r\n" +
m_contactor->name + " : " + message;
CEdit *pEdit;
pEdit=(CEdit *)GetDlgItem(IDC_CHAT_EDIT);
pEdit->SetWindowText(m_chatMessage);
int i=pEdit->GetLineCount();
pEdit->LineScroll(i,0);
}
//main program eixt
void CChat::PostNcDestroy()
{
// TODO: Add your specialized code here and/or call the base class
CDialog::OnClose();
delete this;
CDialog::PostNcDestroy();
}
void CChat::OnClose()
{
// CClientEngine* engine = CClientEngine::getInstance();
// engine->removeByID(m_contactor->getIDFormatOfInt());
ShowWindow(SW_HIDE);
// CDialog::OnClose();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -