Message msObj;
msObj.iType = FIRSTLOG;
msObj.iSubType = FIRSTTIME;
CString strName = dlg.m_Name;
int image = dlg.m_image;
theApp.m_pMainWnd->SetWindowText(strName);
int iLen = strName.GetLength();
lstrcpy(msObj.strName,strName.GetBuffer(iLen));
msObj.iImage = image;
strName.ReleaseBuffer();
m_skMainSocket.Send(&msObj,sizeof(Message));
m_skMainSocket.SetUserName(strName);
m_skMainSocket.SetImage(image);
}
else
{
EndDialog(IDCANCEL);
return false;
}
还有这一段
LRESULT CMyQQClientDlg::OnReceiveMessage(WPARAM wParam, LPARAM lParam)
{
Message msgObj = *(Message*)wParam;
if(msgObj.iType == SYSERROR)
{
if(msgObj.iSubType == SERVERQUIT)
{
MessageBox("服务器关闭");
EndDialog(IDCANCEL);
//return;
}
else if(msgObj.iSubType = USEREXSIT)
{
MessageBox("重名了");
EndDialog(IDCANCEL);
//return;
}
}
if(msgObj.iType == USERLOG)
{
if(msgObj.iSubType == USERLOGIN)
{
CString name;
name = _T("");
name= msgObj.strName;
int i = wndBar.GetItemCount(0);
wndBar.InsertItem(0,i,name,msgObj.iImage,0);
}
else if(msgObj.iSubType == USERLOGOUT)
{
CString name;
name = _T("");
name= msgObj.strName;
int index = wndBar.GetItemIndex(name);
wndBar.RemoveItem(0,index);
}
}
if(msgObj.iType == USERSESSION)
{
if(msgObj.iSubType == SERVERSAY)
{
CString str,str1;
str1 = msgObj.strContent;
str = "服务器通知:\n"+str1;
MessageBox(str);
}
else
{
CString name,content,clientName;
content = name = _T("");
name = msgObj.strName;
clientName = msgObj.strClientName;
content = msgObj.strContent;
content = name + " : "+content;
m_skMainSocket.OnChatAction(name,clientName,content);
}
}
return 0;
}
msObj.iType = FIRSTLOG;
msObj.iSubType = FIRSTTIME;
CString strName = dlg.m_Name;
int image = dlg.m_image;
theApp.m_pMainWnd->SetWindowText(strName);
int iLen = strName.GetLength();
lstrcpy(msObj.strName,strName.GetBuffer(iLen));
msObj.iImage = image;
strName.ReleaseBuffer();
m_skMainSocket.Send(&msObj,sizeof(Message));
m_skMainSocket.SetUserName(strName);
m_skMainSocket.SetImage(image);
}
else
{
EndDialog(IDCANCEL);
return false;
}
还有这一段
LRESULT CMyQQClientDlg::OnReceiveMessage(WPARAM wParam, LPARAM lParam)
{
Message msgObj = *(Message*)wParam;
if(msgObj.iType == SYSERROR)
{
if(msgObj.iSubType == SERVERQUIT)
{
MessageBox("服务器关闭");
EndDialog(IDCANCEL);
//return;
}
else if(msgObj.iSubType = USEREXSIT)
{
MessageBox("重名了");
EndDialog(IDCANCEL);
//return;
}
}
if(msgObj.iType == USERLOG)
{
if(msgObj.iSubType == USERLOGIN)
{
CString name;
name = _T("");
name= msgObj.strName;
int i = wndBar.GetItemCount(0);
wndBar.InsertItem(0,i,name,msgObj.iImage,0);
}
else if(msgObj.iSubType == USERLOGOUT)
{
CString name;
name = _T("");
name= msgObj.strName;
int index = wndBar.GetItemIndex(name);
wndBar.RemoveItem(0,index);
}
}
if(msgObj.iType == USERSESSION)
{
if(msgObj.iSubType == SERVERSAY)
{
CString str,str1;
str1 = msgObj.strContent;
str = "服务器通知:\n"+str1;
MessageBox(str);
}
else
{
CString name,content,clientName;
content = name = _T("");
name = msgObj.strName;
clientName = msgObj.strClientName;
content = msgObj.strContent;
content = name + " : "+content;
m_skMainSocket.OnChatAction(name,clientName,content);
}
}
return 0;
}