📄 registerdlg.cpp
字号:
// RegisterDlg.cpp : implementation file
//
#include "stdafx.h"
#include "client.h"
#include "RegisterDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRegisterDlg dialog
CRegisterDlg::CRegisterDlg(CWnd* pParent /*=NULL*/)
: CDialog(CRegisterDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CRegisterDlg)
m_strServerIP = _T("");
m_uServerPort = 0;
//}}AFX_DATA_INIT
m_bApplyID=TRUE;
hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CRegisterDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CRegisterDlg)
DDX_Control(pDX, IDC_HEADBMP, m_headbmp);
DDX_Control(pDX, IDC_USER_PWD, m_userpwd);
DDX_Control(pDX, IDC_USER_ID, m_userid);
DDX_Control(pDX, IDC_SEX, m_sex);
DDX_Control(pDX, IDC_PWD1, m_pwd1);
DDX_Control(pDX, IDC_PWD, m_pwd);
DDX_Control(pDX, IDC_PHONE, m_phone);
DDX_Control(pDX, IDC_NAME, m_name);
DDX_Control(pDX, IDC_HOMEPAGE, m_homepage);
DDX_Control(pDX, IDC_FAX, m_fax);
DDX_Control(pDX, IDC_EMAIL, m_email);
DDX_Control(pDX, IDC_DESCRIPTION, m_description);
DDX_Control(pDX, IDC_DEPARTMENT, m_department);
DDX_Control(pDX, IDC_APPLY_ID, m_applyid);
DDX_Control(pDX, IDC_ALLOW_ALL, m_allowall);
DDX_Control(pDX, IDC_NEED_CHECK, m_needcheck);
DDX_Control(pDX, IDC_NOT_ALLOW, m_notallow);
DDX_Control(pDX, IDC_AGE, m_age);
DDX_Control(pDX, IDC_ADDRESS, m_address);
DDX_Text(pDX, IDC_SERVERIP, m_strServerIP);
DDX_Text(pDX, IDC_SERVER_PORT, m_uServerPort);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CRegisterDlg, CDialog)
//{{AFX_MSG_MAP(CRegisterDlg)
ON_BN_CLICKED(IDC_USE_HAVEID, OnUseHaveid)
ON_BN_CLICKED(IDC_APPLY_ID, OnApplyId)
ON_WM_TIMER()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_RECIEVE_MSG,OnRecvMsg)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRegisterDlg message handlers
BOOL CRegisterDlg::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_applyid.SetCheck(1);
m_allowall.SetCheck(1);
m_description.SetWindowText("这家伙很懒,什么都没留下");
CString temp;
m_headbmp.SetImageList(&GetApp()->m_imaHead);
m_headbmp.SetCurSel(0);
UpdateData(FALSE);
return TRUE;
}
void CRegisterDlg::OnUseHaveid()
{
m_userid.EnableWindow();
m_userpwd.EnableWindow();
m_bApplyID=FALSE;
m_sex.EnableWindow(FALSE);
m_pwd1.EnableWindow(FALSE);
m_pwd.EnableWindow(FALSE);
m_phone.EnableWindow(FALSE);
m_name.EnableWindow(FALSE);
m_homepage.EnableWindow(FALSE);
m_headbmp.EnableWindow(FALSE);
m_fax.EnableWindow(FALSE);
m_email.EnableWindow(FALSE);
m_description.EnableWindow(FALSE);
m_department.EnableWindow(FALSE);
CButton* pB=(CButton*)GetDlgItem(IDC_NEED_CHECK);
pB->EnableWindow(FALSE);
pB=(CButton*)GetDlgItem(IDC_NOT_ALLOW);
pB->EnableWindow(FALSE);
m_needcheck.EnableWindow(FALSE);
m_notallow.EnableWindow(FALSE);
m_allowall.EnableWindow(FALSE);
m_age.EnableWindow(FALSE);
m_address.EnableWindow(FALSE);
}
void CRegisterDlg::OnApplyId()
{
m_userid.EnableWindow(FALSE);
m_userpwd.EnableWindow(FALSE);
m_bApplyID=TRUE;
CButton* pB=(CButton*)GetDlgItem(IDC_NEED_CHECK);
pB->EnableWindow();
pB=(CButton*)GetDlgItem(IDC_NOT_ALLOW);
pB->EnableWindow();
m_sex.EnableWindow();
m_pwd1.EnableWindow();
m_pwd.EnableWindow();
m_phone.EnableWindow();
m_name.EnableWindow();
m_homepage.EnableWindow();
m_headbmp.EnableWindow();
m_fax.EnableWindow();
m_email.EnableWindow();
m_description.EnableWindow();
m_department.EnableWindow();
m_allowall.EnableWindow();
m_age.EnableWindow();
m_address.EnableWindow();
}
LRESULT CRegisterDlg::OnRecvMsg(WPARAM wParam,LPARAM lParam)
{
CData* pData=(CData*)wParam;
if(pData->index==APPLY_ID_OK)
{
KillTimer(1);
EndWaitCursor();
m_uUserID=pData->MyId;
CString str;
str.Format("恭喜您注册成功!您的ID号为:%d!",pData->MyId);
MessageBox(str,"注册成功");
CDialog::OnOK();
UserInfo* pInfo=new UserInfo;
pInfo->Id=pData->MyId;
lstrcpy(pInfo->Name,msg.Name);
lstrcpy(pInfo->Address,msg.Address);
lstrcpy(pInfo->Age,msg.Age);
pInfo->CanbeAdd=msg.Canbeadd;
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);
pInfo->HaveDetail=1;
lstrcpy(pInfo->Phone,msg.Phone);
pInfo->PhotoId=msg.PhotoId;
pInfo->Sex=msg.Sex;
GetApp()->m_aUserInfo.Add(pInfo);
FriendState* pState=new FriendState;
GetApp()->m_aUserState.Add(pState);
}
else if(pData->index==RE_LOGIN_INFO)
{
CMsg3 msg;
CopyDataBuf(&msg,pData);
if(msg.LoadFromBuf())
{
KillTimer(1);
EndWaitCursor();
if(msg.Value==2)
{
CDialog::OnOK();
UserInfo *pInfo=new UserInfo;
pInfo->Id=msg.MyId;
CString str;
str.Format("%d",m_userid);
lstrcpy(pInfo->Name,str);
pInfo->HaveDetail=0;
GetApp()->m_aUserInfo.Add(pInfo);
FriendState* pState=new FriendState;
GetApp()->m_aUserState.Add(pState);
}
else if(msg.Value==1)
{
CString str;
str.LoadString(IDS_PWD_ERROR);
MessageBox(str);
}
else
{
CString str;
str.LoadString(IDS_ID_NOT_EXIST);
MessageBox(str);
}
}
}
delete pData;
return 0;
}
void CRegisterDlg::OnOK()
{
UpdateData();
if(m_strServerIP=="")
{
CString str;
str.LoadString(IDS_SERVER_IP_NOT_NULL);
MessageBox(str);
return;
}
m_uServerIP=inet_addr(m_strServerIP);
CClientApp* pApp=(CClientApp*)AfxGetApp();
BeginWaitCursor();
if(m_applyid.GetCheck())
{
CString pwd,pwd1;
m_pwd.GetWindowText(pwd);
m_pwd1.GetWindowText(pwd1);
if(pwd.IsEmpty()||pwd!=pwd1)
{
EndWaitCursor();
CString str;
str.LoadString(IDS_FILL_PWD_ERROR);
MessageBox(str);
m_pwd.SetWindowText("");
m_pwd1.SetWindowText("");
m_pwd.SetFocus();
return;
}
m_strPassword=pwd;
CString str;
msg.tarIP=m_uServerIP;
msg.nPort=m_uServerPort;
msg.index=APPLY_ID_LOGIN;
m_address.GetWindowText(msg.Address);
m_age.GetWindowText(msg.Age);
m_department.GetWindowText(msg.Department);
m_description.GetWindowText(msg.Description);
m_email.GetWindowText(msg.Email);
m_fax.GetWindowText(msg.Fax);
m_homepage.GetWindowText(msg.Homepage);
m_name.GetWindowText(msg.Name);
m_phone.GetWindowText(msg.Phone);
msg.Password=pwd;
if(m_allowall.GetCheck())msg.Canbeadd=1;
else if(m_needcheck.GetCheck())msg.Canbeadd=2;
else msg.Canbeadd=0;
msg.PhotoId=m_headbmp.GetCurSel();
int sex_sel;
sex_sel=m_sex.GetCurSel();
if(sex_sel==CB_ERR)sex_sel=2;
msg.Sex=sex_sel;
SetTimer(1,TimeWaitForRes+1000,NULL);
pApp->m_Socket.SendDataDirect(&msg);
}
else
{
CString str;
m_userid.GetWindowText(str);
m_uUserID=atol(LPCSTR(str));
if(!m_uUserID)
{
EndWaitCursor();
CString str;
str.LoadString(IDS_FILL_ID_ERROR);
MessageBox(str);
m_userid.SetWindowText("");
m_userid.SetFocus();
return;
}
m_userpwd.GetWindowText(m_strPassword);
CMsgModifyPwd msg;
msg.index=HAVE_ID_LOGIN;
msg.MyId=m_uUserID;
msg.tarIP=m_uServerIP;
msg.nPort=m_uServerPort;
msg.OldPwd=m_strPassword;
SetTimer(1,TimeWaitForRes+1000,NULL);
pApp->m_Socket.SendDataDirect(&msg);
}
}
void CRegisterDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
EndWaitCursor();
KillTimer(1);
CString str;
str.LoadString(IDS_SERVER_NOT_RES);
MessageBox(str);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -