📄 modifypidlg.cpp
字号:
// ModifyPIDlg.cpp : implementation file
//
#include "stdafx.h"
#include "client.h"
#include "ModifyPIDlg.h"
#include "changepwd.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CModifyPIDlg dialog
CModifyPIDlg::CModifyPIDlg(CWnd* pParent /*=NULL*/)
: CDialog(CModifyPIDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CModifyPIDlg)
m_strAge = _T("");
m_strID = _T("");
m_strName = _T("");
m_canbeadd = -1;
m_strCountry = _T("");
m_strCity = _T("");
m_strProvince = _T("");
//}}AFX_DATA_INIT
pInfo=NULL;
hIcon=AfxGetApp()->LoadIcon(IDR_NOTIFY);
}
void CModifyPIDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CModifyPIDlg)
DDX_Control(pDX, IDC_SEX, m_ComboSex);
DDX_Control(pDX, IDC_HEADBMP, m_ComboFace);
DDX_Text(pDX, IDC_AGE, m_strAge);
DDV_MaxChars(pDX, m_strAge, 6);
DDX_Text(pDX, IDC_ID, m_strID);
DDX_Text(pDX, IDC_NAME, m_strName);
DDX_Radio(pDX, IDC_ALLOW_ALL, m_canbeadd);
DDX_Text(pDX, IDC_COUNTRY, m_strCountry);
DDX_Text(pDX, IDC_CITY, m_strCity);
DDX_Text(pDX, IDC_PROVINCE, m_strProvince);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CModifyPIDlg, CDialog)
//{{AFX_MSG_MAP(CModifyPIDlg)
ON_BN_CLICKED(ID_REFRESH, OnRefresh)
ON_WM_TIMER()
ON_BN_CLICKED(ID_SHOW_CHANGEPWD, OnShowChangepwd)
ON_BN_CLICKED(ID_MODIFYPI, OnModifypi)
//}}AFX_MSG_MAP
ON_MESSAGE(WM_SHOW_FRIEND_DETAIL,OnShowFriendDetail)
ON_MESSAGE(WM_RECIEVE_MSG,OnRecvMyDetail)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CModifyPIDlg message handlers
void CModifyPIDlg::OnRefresh()
{
if(!GetApp()->m_bOnlineState)return;
CMsg1 msg;
msg.index=FRIEND_DETAIL;
msg.MyId=GetApp()->m_uCurrentUserID;
msg.tarIP=GetApp()->m_uServerIP;
msg.nPort=GetApp()->m_uServerPort;
msg.FriendId=pInfo->Id;
BOOL bCancel=FALSE;
if(!GetApp()->m_Socket.SendData(&msg,bCancel,this))
{
CString str;
str.LoadString(IDS_SERVER_NOT_RES);
MessageBox(str);
OnOK();
return;
}
BeginWaitCursor();
SetTimer(2,TimeWaitForFriendDetail,NULL);
}
LRESULT CModifyPIDlg::OnShowFriendDetail(WPARAM wParam,LPARAM lParam)
{
pInfo=(UserInfo*)wParam;
ASSERT(pInfo!=NULL);
m_strID.Format("%d",pInfo->Id);
int photoid=0;
if(pInfo->HaveDetail)
{
if(pInfo->CanbeAdd==0)m_canbeadd=2;
else if(pInfo->CanbeAdd==1)m_canbeadd=0;
else m_canbeadd=1;
m_strCountry=pInfo->Country;
m_strAge=pInfo->Age;
m_strProvince=pInfo->Province;
m_strCity=pInfo->City;
m_strName=pInfo->Name;
photoid=pInfo->PhotoId;
if(pInfo->Sex==0)m_ComboSex.SetCurSel(0);
else if(pInfo->Sex==1)m_ComboSex.SetCurSel(1);
}
m_ComboFace.SetCurSel(photoid);
UpdateData(FALSE);
ShowWindow(SW_NORMAL);
return 0;
}
BOOL CModifyPIDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(hIcon,TRUE);
SetIcon(hIcon,FALSE);
CMenu* pMenu=GetSystemMenu(FALSE);
pMenu->EnableMenuItem(SC_RESTORE,MF_GRAYED|MF_DISABLED);
pMenu->EnableMenuItem(SC_SIZE,MF_GRAYED|MF_DISABLED);
pMenu->EnableMenuItem(SC_MAXIMIZE,MF_GRAYED|MF_DISABLED);
m_ComboFace.SetImageList(&GetApp()->m_imaHead);
m_ComboFace.SetCurSel(0);
return TRUE;
}
void CModifyPIDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==2)
{
EndWaitCursor();
KillTimer(2);
CString str;
str.LoadString(IDS_SERVER_NOT_RES);
MessageBox(str);
OnOK();
}
}
void CModifyPIDlg::OnShowChangepwd()
{
CChangePwd dlg(this);
dlg.DoModal();
}
LRESULT CModifyPIDlg::OnRecvMyDetail(WPARAM wParam,LPARAM lParam)
{
if(!GetApp()->m_bOnlineState)return 0;
CData* pData=(CData*)wParam;
if(pData->index==RE_FRIEND_DETAIL)
{
if(pInfo==NULL)return 0;
CMsgPerson msg;
CopyDataBuf(&msg,pData);
if(!msg.LoadFromBuf())return 0;
pInfo->HaveDetail=1;
pInfo->CanbeAdd=msg.Canbeadd;
pInfo->Sex=msg.Sex;
pInfo->PhotoId=msg.PhotoId;
lstrcpy(pInfo->Country,msg.Country);
lstrcpy(pInfo->Age,msg.Age);
lstrcpy(pInfo->Province,msg.Province);
lstrcpy(pInfo->City,msg.City);
lstrcpy(pInfo->Name,msg.Name);
m_strID.Format("%d",pInfo->Id);
if(pInfo->CanbeAdd==0)m_canbeadd=2;
else if(pInfo->CanbeAdd==1)m_canbeadd=0;
else m_canbeadd=1;
m_strCountry=pInfo->Country;
m_strAge=pInfo->Age;
m_strProvince=pInfo->Province;
m_strCity=pInfo->City;
m_strName=pInfo->Name;
if(pInfo->Sex==0)m_ComboSex.SetCurSel(0);
else if(pInfo->Sex==1)m_ComboSex.SetCurSel(1);
int photoid=0;
if(pInfo->PhotoId>=0&&pInfo->PhotoId<UINT(GetApp()->m_nNumberHeadBmp))
photoid=pInfo->PhotoId;
m_ComboFace.SetCurSel(photoid);
UpdateData(FALSE);
EndWaitCursor();
KillTimer(2);
return 1;
}
else
{
return 0;
}
}
void CModifyPIDlg::OnModifypi()
{
if(!GetApp()->m_bOnlineState)return;
if(pInfo==NULL)return;
UpdateData();
CMsgChangePI msg;
msg.index=CHANGE_PERSONAL_INFO;
msg.MyId=GetApp()->m_uCurrentUserID;
msg.tarIP=GetApp()->m_uServerIP;
msg.nPort=GetApp()->m_uServerPort;
if(pInfo->Country!=m_strCountry)
{
msg.Country=m_strCountry;
msg.Mask|=CMsgChangePI::COUNTRY;
}
if(pInfo->Age!=m_strAge)
{
msg.Age=m_strAge;
msg.Mask|=CMsgChangePI::AGE;
}
int CanbeAdd=1;
if(m_canbeadd==1)CanbeAdd=2;
else if(m_canbeadd==2)CanbeAdd=0;
if(pInfo->CanbeAdd!=CanbeAdd)
{
msg.Canbeadd=CanbeAdd;
msg.Mask|=CMsgChangePI::CANBEADD;
}
if(pInfo->Province!=m_strProvince)
{
msg.Province=m_strProvince;
msg.Mask|=CMsgChangePI::PROVINCE;
}
if(pInfo->City!=m_strCity)
{
msg.City=m_strCity;
msg.Mask|=CMsgChangePI::CITY;
}
if(pInfo->Name!=m_strName)
{
msg.Name=m_strName;
msg.Mask|=CMsgChangePI::NAME;
}
BYTE Sex=m_ComboSex.GetCurSel();
if(Sex!=0&&Sex!=1)Sex=2;
if(pInfo->Sex!=Sex)
{
msg.Sex=Sex;
msg.Mask|=CMsgChangePI::SEX;
}
int photoid=m_ComboFace.GetCurSel();
if(photoid>=0&&pInfo->PhotoId!=UINT(photoid))
{
msg.PhotoId=photoid;
msg.Mask|=CMsgChangePI::PHOTOID;
}
if(msg.Mask==0)return;
BeginWaitCursor();
BOOL bCancel=FALSE;
if(GetApp()->m_Socket.SendData(&msg,bCancel))
{
if(msg.Mask&CMsgChangePI::COUNTRY)lstrcpy(pInfo->Country,m_strCountry);
if(msg.Mask&CMsgChangePI::AGE)lstrcpy(pInfo->Age,m_strAge);
if(msg.Mask&CMsgChangePI::PROVINCE)lstrcpy(pInfo->Province,m_strProvince);
if(msg.Mask&CMsgChangePI::CITY)lstrcpy(pInfo->City,m_strCity);
if(msg.Mask&CMsgChangePI::NAME)lstrcpy(pInfo->Name,m_strName);
if(msg.Mask&CMsgChangePI::SEX)pInfo->Sex=msg.Sex;
if(msg.Mask&CMsgChangePI::PHOTOID)pInfo->PhotoId=msg.PhotoId;
if(msg.Mask&CMsgChangePI::CANBEADD)pInfo->CanbeAdd=msg.Canbeadd;
EndWaitCursor();
MessageBox("修改数据成功!");
OnOK();
}
else
{
EndWaitCursor();
MessageBox("服务器没有响应!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -