Files

101 lines
2.0 KiB
C++
Raw Permalink Normal View History

// 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, Server* IOCPServer, CONTEXT_OBJECT* ContextObject)
: DialogBase(CTalkDlg::IDD, pParent, IOCPServer, ContextObject, IDR_MAINFRAME)
{
}
CTalkDlg::~CTalkDlg()
{
}
void CTalkDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT_TALK, m_EditTalk);
m_EditTalk.SetLimitText(TALK_DLG_MAXLEN);
}
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();
SetIcon(m_hIcon, FALSE);
BYTE bToken = COMMAND_NEXT;
m_ContextObject->Send2Client(&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()
{
int iLength = m_EditTalk.GetWindowTextLength();
if (!iLength) {
return;
}
CString strData;
m_EditTalk.GetWindowText(strData);
char szBuffer[4096] = {0};
strcpy(szBuffer,strData.GetBuffer(0));
m_EditTalk.SetWindowText(NULL);
m_ContextObject->Send2Client((LPBYTE)szBuffer, strlen(szBuffer));
}
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()
{
CancelIO();
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (IsProcessing()) {
ShowWindow(SW_HIDE);
return;
}
DialogBase::OnClose();
}