?? frienddetail.cpp
字號:
// FriendDetail.cpp : implementation file
//
#include "stdafx.h"
#include "client.h"
#include "FriendDetail.h"
#include "Mainfrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFriendDetailDlg dialog
CFriendDetailDlg::CFriendDetailDlg(CWnd* pParent /*=NULL*/)
: CDialog(CFriendDetailDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CFriendDetailDlg)
m_strAddress = _T("");
m_strAge = _T("");
m_strDepartment = _T("");
m_strDescription = _T("");
m_strEmail = _T("");
m_strFax = _T("");
m_strHomepage = _T("");
m_strID = _T("");
m_strName = _T("");
m_strPhone = _T("");
m_canbeadd = -1;
//}}AFX_DATA_INIT
pInfo=NULL;
pWnd=NULL;
hIcon=AfxGetApp()->LoadIcon(IDR_NOTIFY);
}
void CFriendDetailDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFriendDetailDlg)
DDX_Control(pDX, IDC_SEX, m_ComboSex);
DDX_Control(pDX, IDC_HEADBMP, m_ComboFace);
DDX_Text(pDX, IDC_ADDRESS, m_strAddress);
DDX_Text(pDX, IDC_AGE, m_strAge);
DDX_Text(pDX, IDC_DEPARTMENT, m_strDepartment);
DDX_Text(pDX, IDC_DESCRIPTION, m_strDescription);
DDX_Text(pDX, IDC_EMAIL, m_strEmail);
DDX_Text(pDX, IDC_FAX, m_strFax);
DDX_Text(pDX, IDC_HOMEPAGE, m_strHomepage);
DDX_Text(pDX, IDC_ID, m_strID);
DDX_Text(pDX, IDC_NAME, m_strName);
DDX_Text(pDX, IDC_PHONE, m_strPhone);
DDX_Radio(pDX, IDC_ALLOW_ALL, m_canbeadd);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFriendDetailDlg, CDialog)
//{{AFX_MSG_MAP(CFriendDetailDlg)
ON_BN_CLICKED(ID_REFRESH, OnRefresh)
ON_WM_TIMER()
ON_WM_CLOSE()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_SHOW_FRIEND_DETAIL,OnShowFriendDetail)
ON_MESSAGE(WM_RECIEVE_MSG,OnRecvFriendDetail)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFriendDetailDlg message handlers
void CFriendDetailDlg::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 CFriendDetailDlg::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_strAddress=pInfo->Address;
m_strAge=pInfo->Age;
m_strDepartment=pInfo->Department;
m_strDescription=pInfo->Description;
m_strEmail=pInfo->Email;
m_strFax=pInfo->Fax;
m_strHomepage=pInfo->Homepage;
m_strName=pInfo->Name;
m_strPhone=pInfo->Phone;
if(pInfo->PhotoId>=0&&pInfo->PhotoId<UINT(GetApp()->m_nNumberHeadBmp))
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 CFriendDetailDlg::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);
return TRUE;
}
void CFriendDetailDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==2)
{
EndWaitCursor();
KillTimer(2);
CString str;
str.LoadString(IDS_SERVER_NOT_RES);
MessageBox(str);
OnOK();
}
}
LRESULT CFriendDetailDlg::OnRecvFriendDetail(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->Address,msg.Address);
lstrcpy(pInfo->Age,msg.Age);
lstrcpy(pInfo->Department,msg.Department);
lstrcpy(pInfo->Description,msg.Description);
lstrcpy(pInfo->Email,msg.Email);
lstrcpy(pInfo->Fax,msg.Fax);
lstrcpy(pInfo->Homepage,msg.Homepage);
lstrcpy(pInfo->Phone,msg.Phone);
lstrcpy(pInfo->Name,msg.Name);
UserInfo *pInfo2=NULL;
if(FindInArray(GetApp()->m_aUserInfo,msg.MyId,pInfo2)||FindInArray(GetApp()->m_aStranger,msg.MyId,pInfo2))
{
if(pInfo!=pInfo2)
{
pInfo2->HaveDetail=1;
pInfo2->CanbeAdd=msg.Canbeadd;
pInfo2->Sex=msg.Sex;
pInfo2->PhotoId=msg.PhotoId;
lstrcpy(pInfo2->Address,msg.Address);
lstrcpy(pInfo2->Age,msg.Age);
lstrcpy(pInfo2->Department,msg.Department);
lstrcpy(pInfo2->Description,msg.Description);
lstrcpy(pInfo2->Email,msg.Email);
lstrcpy(pInfo2->Fax,msg.Fax);
lstrcpy(pInfo2->Homepage,msg.Homepage);
lstrcpy(pInfo2->Phone,msg.Phone);
lstrcpy(pInfo2->Name,msg.Name);
}
CMainFrame *pFrame=(CMainFrame*)GetApp()->m_pMainWnd;
pFrame->m_wndBar.ModifyItem(pInfo->Id,pInfo->PhotoId,pInfo->Name);
pFrame->m_wndBar.Invalidate();
}
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_strAddress=pInfo->Address;
m_strAge=pInfo->Age;
m_strDepartment=pInfo->Department;
m_strDescription=pInfo->Description;
m_strEmail=pInfo->Email;
m_strFax=pInfo->Fax;
m_strHomepage=pInfo->Homepage;
m_strName=pInfo->Name;
m_strPhone=pInfo->Phone;
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);
if(pWnd!=NULL)pWnd->PostMessage(WM_REFRESH_DATA);
return 1;
}
else
{
return 0;
}
}
void CFriendDetailDlg::OnCancel()
{
if(pWnd!=NULL)pWnd->PostMessage(WM_REFRESH_DATA);
CDialog::OnCancel();
}
void CFriendDetailDlg::OnClose()
{
OnCancel();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -