2019-01-05 20:21:43 +08:00
|
|
|
|
// TalkDlg.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
#include "2015Remote.h"
|
|
|
|
|
|
#include "TalkDlg.h"
|
|
|
|
|
|
#include "afxdialogex.h"
|
|
|
|
|
|
|
|
|
|
|
|
// CTalkDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CTalkDlg, CDialog)
|
|
|
|
|
|
|
|
|
|
|
|
CTalkDlg::CTalkDlg(CWnd* pParent,IOCPServer* IOCPServer, CONTEXT_OBJECT* ContextObject)
|
2025-06-28 23:52:26 +08:00
|
|
|
|
: DialogBase(CTalkDlg::IDD, pParent, IOCPServer, ContextObject, IDR_MAINFRAME)
|
2019-01-05 20:21:43 +08:00
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CTalkDlg::~CTalkDlg()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CTalkDlg::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
|
{
|
|
|
|
|
|
CDialog::DoDataExchange(pDX);
|
|
|
|
|
|
DDX_Control(pDX, IDC_EDIT_TALK, m_EditTalk);
|
2025-01-01 18:36:44 +08:00
|
|
|
|
m_EditTalk.SetLimitText(TALK_DLG_MAXLEN);
|
2019-01-05 20:21:43 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CTalkDlg, CDialog)
|
|
|
|
|
|
ON_BN_CLICKED(IDC_BUTTON_TALK, &CTalkDlg::OnBnClickedButtonTalk)
|
|
|
|
|
|
ON_WM_CLOSE()
|
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CTalkDlg <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BOOL CTalkDlg::OnInitDialog()
|
|
|
|
|
|
{
|
|
|
|
|
|
CDialog::OnInitDialog();
|
|
|
|
|
|
|
2019-01-15 21:48:37 +08:00
|
|
|
|
SetIcon(m_hIcon, FALSE);
|
2019-01-05 20:21:43 +08:00
|
|
|
|
BYTE bToken = COMMAND_NEXT;
|
|
|
|
|
|
m_iocpServer->OnClientPreSending(m_ContextObject, &bToken, sizeof(BYTE));
|
|
|
|
|
|
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
|
|
|
|
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTalkDlg::OnBnClickedButtonTalk()
|
|
|
|
|
|
{
|
2019-02-04 14:49:11 +08:00
|
|
|
|
int iLength = m_EditTalk.GetWindowTextLength();
|
2019-01-05 20:21:43 +08:00
|
|
|
|
|
|
|
|
|
|
if (!iLength)
|
|
|
|
|
|
{
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CString strData;
|
2019-02-04 14:49:11 +08:00
|
|
|
|
m_EditTalk.GetWindowText(strData);
|
2019-01-05 20:21:43 +08:00
|
|
|
|
|
2019-01-21 21:04:17 +08:00
|
|
|
|
char szBuffer[4096] = {0};
|
2019-01-05 20:21:43 +08:00
|
|
|
|
strcpy(szBuffer,strData.GetBuffer(0));
|
|
|
|
|
|
|
2019-02-04 14:49:11 +08:00
|
|
|
|
m_EditTalk.SetWindowText(NULL);
|
2019-01-05 20:21:43 +08:00
|
|
|
|
|
2019-02-04 14:49:11 +08:00
|
|
|
|
m_iocpServer->OnClientPreSending(m_ContextObject, (LPBYTE)szBuffer, strlen(szBuffer));
|
2019-01-05 20:21:43 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BOOL CTalkDlg::PreTranslateMessage(MSG* pMsg)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (pMsg->message == WM_KEYDOWN)
|
|
|
|
|
|
{
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>VK_ESCAPE<50><45>VK_DELETE
|
|
|
|
|
|
if (pMsg->wParam == VK_ESCAPE)
|
|
|
|
|
|
return true;
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ǿɱ༭<C9B1><E0BCAD><EFBFBD>Ļس<C4BB><D8B3><EFBFBD>
|
|
|
|
|
|
if (pMsg->wParam == VK_RETURN && pMsg->hwnd == m_EditTalk.m_hWnd)
|
|
|
|
|
|
{
|
|
|
|
|
|
OnBnClickedButtonTalk();
|
|
|
|
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return CDialog::PreTranslateMessage(pMsg);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CTalkDlg::OnClose()
|
|
|
|
|
|
{
|
2025-06-28 23:52:26 +08:00
|
|
|
|
CancelIO();
|
|
|
|
|
|
|
|
|
|
|
|
DialogBase::OnClose();
|
2019-01-05 20:21:43 +08:00
|
|
|
|
}
|