⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 talkdialog.cpp

📁 一个用MFC做的象棋游戏,可以联网双人对下,
💻 CPP
字号:
// TalkDialog.cpp : implementation file
//

#include "stdafx.h"
#include "MyChess.h"
#include "TalkDialog.h"


// TalkDialog dialog

IMPLEMENT_DYNAMIC(TalkDialog, CDialog)

TalkDialog::TalkDialog(CMyChessView * pview,CWnd* pParent /*=NULL*/)
	: CDialog(TalkDialog::IDD, pParent),m_pTalkView(pview)
	, m_talk(_T(""))
{

}

TalkDialog::~TalkDialog()
{
	m_pTalkView=NULL;
}

void TalkDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_DIALIST, m_talkList);
	DDX_Text(pDX, IDC_EDIT1, m_talk);
}


BEGIN_MESSAGE_MAP(TalkDialog, CDialog)
	ON_BN_CLICKED(IDC_BUTTON1, &TalkDialog::OnBnClickedSend)
	ON_WM_CLOSE()
	ON_WM_CHAR()
END_MESSAGE_MAP()


// TalkDialog message handlers

void TalkDialog::OnBnClickedSend()
{
	if (!m_pTalkView->m_pClientSocket)
	{
		return;
	}
	// TODO: Add your control notification handler code here
	UpdateData(true);
	userMSG talkMSG;
	talkMSG.msgType=2;
	//memcpy(talkMSG.msgContent,m_talk,m_talk.GetLength());
	//strcpy(talkMSG.msgContent,"shdjkhshd");

	/*
		char *pChar=new char[m_talk.GetLength()+1];
			    memcpy(pChar,m_talk.GetBuffer(m_talk.GetLength()),m_talk.GetLength());
				pChar[m_talk.GetLength()]='\0';
				strcpy(talkMSG.msgContent,pChar);*/

		
	for (int i=0;i<m_talk.GetLength();i++)
	{
		talkMSG.msgContent[i]=m_talk[i];
	}
	

	//memcpy(talkMSG.msgContent,&m_talk,m_talk.GetLength());
	talkMSG.msgContent[m_talk.GetLength()]='\0';
	if (m_talk.GetLength())
	{
		if (m_pTalkView&&m_pTalkView->m_pClientSocket)
		{
			m_pTalkView->m_pClientSocket->Send((char*)&talkMSG,sizeof(talkMSG));
		}
	}
	//delete []pChar;
	int i=m_talkList.GetCount();
	m_talk="我说:"+m_talk;
	m_talkList.InsertString(i,m_talk);
	m_talk=' ';
	UpdateData(false);
}

void TalkDialog::OnClose()
{
	// TODO: Add your message handler code here and/or call default
     m_pTalkView->m_TalkDlg=false;
	CDialog::OnClose();
}

void TalkDialog::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
	//MessageBox("dsdsd");
	// TODO: Add your message handler code here and/or call default
	CDialog::OnChar(nChar, nRepCnt, nFlags);

   /*
	 if (nChar==VK_RETURN)
	    {
			MessageBox("dsdsd");
	       OnBnClickedSend();  
	    }
		*/
	

	
}

void TalkDialog::OnOK()
{
	// TODO: Add your specialized code here and/or call the base class
      OnBnClickedSend();  
	//CDialog::OnOK();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -