网络聊天系统源代码 第10页


网络聊天系统源代码 第10页
//邀请加入聊天室函数
void CUserDlg::OnInviteJoin()
{
 // TODO: Add your control notification handler code here
 int m_Index = -1;
 char sendbuffer[100];
 CString m_DestUser;
 //取得用户名
 m_Index = m_AllUser.GetCurSel();
 if (m_Index == -1)
 {
  MessageBox("你没有选中用户!", "聊天系统", MB_ICONINFORMATION | MB_OK);
  return;
 }
 m_AllUser.GetText(m_Index, m_DestUser);
 //向服务器发送消息
 sprintf(sendbuffer, "INVITE_JOIN~%s\0", m_DestUser);
 if (send(usersock, sendbuffer, strlen(sendbuffer) + 1, 0) <=0 )
 {
  MessageBox("发送失败!", "聊天系统", MB_OK | MB_ICONERROR);
  return;
 } 
}刷新用户主界面//刷新函数

void CUserDlg::OnRefurbish()
{
 // TODO: Add your control notification handler code here

 //删除控件中所有内容
 m_RoomList.ResetContent();
 m_AllUser.ResetContent();
 //重新要求房间信息和在线用户信息
 int  i = send(usersock, "ROOM_LIST", strlen("ROOM_LIST") + 1, 0);
 if ( i <= 0 )
 {  MessageBox("发送失败!", "聊天系统", MB_ICONERROR|MB_OK);
  return;
 }

退出聊天室
} void CUserDlg::OnCancel()
{
 // TODO: Add your control notification handler code here
 if (isRun)
 {
  //如果接收线程还在运行,则发送用户退出消息
  int i = send(usersock, "USER_QUIT", strlen("USER_QUIT") + 1, 0);
  if (i <= 0)
  {
   MessageBox("发送失败!", "聊天系统", MB_OK|MB_ICONERROR);
  }
 }
 //删除分配的空间
 if (pChatRoomDlg != NULL)
 {
  if (m_IsInRoom)
  {
   pChatRoomDlg->DestroyWindow();
  }
  delete pChatRoomDlg;
  pChatRoomDlg = NULL;
 }
 if (pTalkRoomDlg != NULL)
 {
  if (isTalking)
  {
   pTalkRoomDlg->DestroyWindow();
  }
  delete pTalkRoomDlg;
  pTalkRoomDlg = NULL;
 }
 CDialog::OnCancel();
}

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有