📄 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)
//}}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_PROVINCE, m_province);
DDX_Control(pDX, IDC_CITY, m_city);
DDX_Control(pDX, IDC_COUNTRY, m_country);
DDX_Control(pDX, IDC_HEADBMP, m_headbmp);
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_NAME, m_name);
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);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CRegisterDlg, CDialog)
//{{AFX_MSG_MAP(CRegisterDlg)
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_allowall.SetCheck(1);
CString temp;
m_headbmp.SetImageList(&GetApp()->m_imaHead);
m_headbmp.SetCurSel(0);
UpdateData(FALSE);
return TRUE;
}
//接收信息后进行验证,
//验证成功后生成ID
LRESULT CRegisterDlg::OnRecvMsg(WPARAM wParam,LPARAM lParam)
{
CData* pData=(CData*)wParam;
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->Country,msg.Country);
lstrcpy(pInfo->Age,msg.Age);
pInfo->CanbeAdd=msg.Canbeadd;
lstrcpy(pInfo->Province,msg.Province);
lstrcpy(pInfo->City,msg.City);
pInfo->HaveDetail=1;
pInfo->PhotoId=msg.PhotoId;
pInfo->Sex=msg.Sex;
GetApp()->m_aUserInfo.Add(pInfo);
FriendState* pState=new FriendState;
GetApp()->m_aUserState.Add(pState);
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();
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;
//获取IP和端口号
msg.tarIP=m_uServerIP;
msg.nPort=m_uServerPort;
msg.index=APPLY_ID_LOGIN;
m_country.GetWindowText(msg.Country);
m_age.GetWindowText(msg.Age);
m_province.GetWindowText(msg.Province);
m_city.GetWindowText(msg.City);
m_name.GetWindowText(msg.Name);
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);
}
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 + -