//更新签名 VOID CEditUnderWrite::UpdateUnderWrite() { if (IsWindowVisible()==TRUE) { //获取信息 TCHAR szUnderWrite[LEN_UNDER_WRITE]=TEXT(""); GetWindowText(szUnderWrite,CountArray(szUnderWrite)); //用户信息 CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance(); tagGlobalUserData * pGlobalUserData=pGlobalUserInfo->GetGlobalUserData(); //更新判断 bool bActiveMission=false; if ((IsModifyStatus()==true)&&(lstrcmp(szUnderWrite,m_szUnderWrite)!=0L)) bActiveMission=true; if ((IsModifyStatus()==false)&&(lstrcmp(szUnderWrite,pGlobalUserData->szUnderWrite)!=0L)) bActiveMission=true; //更新判断 if (bActiveMission==true) { //设置信息 m_bNeedSend=true; lstrcpyn(m_szUnderWrite,szUnderWrite,CountArray(m_szUnderWrite)); //终止任务 CMissionManager * pMissionManager=GetMissionManager(); if (GetActiveStatus()==true) pMissionManager->ConcludeMissionItem(this,false); //设置地址 LPCTSTR pszCurrentServer=pMissionManager->GetCurrentServer(); if ((pszCurrentServer!=NULL)&&(pszCurrentServer[0]!=0)) pMissionManager->SetCustomServer(pszCurrentServer); //激活任务 pMissionManager->AvtiveMissionItem(this,false); //隐藏控件 ShowWindow(SW_HIDE); //更新界面 ASSERT(m_pParentWnd!=NULL); m_pParentWnd->RedrawWindow(NULL,NULL,RDW_INVALIDATE|RDW_ERASE|RDW_UPDATENOW|RDW_ERASENOW); } else { //关闭控件 CloseUnderWrite(); } } return; }
//连接事件 bool CEditUnderWrite::OnEventMissionLink(INT nErrorCode) { //错误判断 if (nErrorCode!=0L) { //错误提示 CInformation Information(m_pParentWnd); Information.ShowMessageBox(TEXT("服务器连接失败,个性签名更新失败!"),MB_ICONERROR,30L); return true; } //设置变量 m_bNeedSend=false; //变量定义 ASSERT(GetMissionManager()!=NULL); CMissionManager * pMissionManager=GetMissionManager(); //用户信息 CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance(); tagGlobalUserData * pGlobalUserData=pGlobalUserInfo->GetGlobalUserData(); //变量定义 CMD_GP_ModifyUnderWrite ModifyUnderWrite; ZeroMemory(&ModifyUnderWrite,sizeof(ModifyUnderWrite)); //设置数据 ModifyUnderWrite.dwUserID=pGlobalUserData->dwUserID; lstrcpyn(ModifyUnderWrite.szUnderWrite,m_szUnderWrite,CountArray(ModifyUnderWrite.szUnderWrite)); lstrcpyn(ModifyUnderWrite.szPassword,pGlobalUserData->szPassword,CountArray(ModifyUnderWrite.szPassword)); //发送数据 WORD wHeadSize=sizeof(ModifyUnderWrite)-sizeof(ModifyUnderWrite.szUnderWrite); pMissionManager->SendData(MDM_GP_USER_SERVICE,SUB_GP_MODIFY_UNDER_WRITE,&ModifyUnderWrite,wHeadSize+CountStringBuffer(ModifyUnderWrite.szUnderWrite)); return true; }
//消耗消息 VOID CEditUnderWrite::OnDestroy() { __super::OnDestroy(); //终止任务 if (GetActiveStatus()==true) { //变量定义 CMissionManager * pMissionManager=GetMissionManager(); if (pMissionManager!=NULL) pMissionManager->ConcludeMissionItem(this,false); //更新界面 ASSERT(m_pParentWnd!=NULL); m_pParentWnd->RedrawWindow(NULL,NULL,RDW_INVALIDATE|RDW_ERASE|RDW_UPDATENOW|RDW_ERASENOW); } return; }
//关闭事件 bool CEditUnderWrite::OnEventMissionShut(BYTE cbShutReason) { //关闭处理 if (cbShutReason!=SHUT_REASON_NORMAL) { //重试任务 CMissionManager * pMissionManager=GetMissionManager(); if (pMissionManager->AvtiveMissionItem(this,true)==true) return true; //设置控件 CloseUnderWrite(); //显示提示 CInformation Information(m_pParentWnd); Information.ShowMessageBox(TEXT("由于当前服务器处理繁忙,个性签名修改失败,请稍后再重试!"),MB_ICONERROR); } return true; }
//关闭事件 bool CDlgCustomFace::OnEventMissionShut(BYTE cbShutReason) { //关闭处理 if (cbShutReason!=SHUT_REASON_NORMAL) { //重试任务 CMissionManager * pMissionManager=GetMissionManager(); if (pMissionManager->AvtiveMissionItem(this,true)==true) return true; //显示控件 EnableControl(true); //显示提示 CInformation Information(this); Information.ShowMessageBox(TEXT("由于当前服务器处理繁忙,上传自定义头像失败,请稍后再重试!"),MB_ICONERROR); } return true; }
//读取事件 bool CEditUnderWrite::OnEventMissionRead(TCP_Command Command, VOID * pData, WORD wDataSize) { //命令处理 if (Command.wMainCmdID==MDM_GP_USER_SERVICE) { switch (Command.wSubCmdID) { case SUB_GP_OPERATE_FAILURE: //操作失败 { //效验参数 CMD_GP_OperateFailure * pOperateFailure=(CMD_GP_OperateFailure *)pData; ASSERT(wDataSize>=(sizeof(CMD_GP_OperateFailure)-sizeof(pOperateFailure->szDescribeString))); if (wDataSize<(sizeof(CMD_GP_OperateFailure)-sizeof(pOperateFailure->szDescribeString))) return false; //关闭连接 CMissionManager * pMissionManager=GetMissionManager(); if (pMissionManager!=NULL) pMissionManager->ConcludeMissionItem(this,false); //设置控件 CloseUnderWrite(); //显示消息 if (pOperateFailure->szDescribeString[0]!=0) { CInformation Information(m_pParentWnd); Information.ShowMessageBox(pOperateFailure->szDescribeString,MB_ICONERROR,60); } return true; } case SUB_GP_OPERATE_SUCCESS: //操作成功 { //变量定义 CMD_GP_OperateSuccess * pOperateSuccess=(CMD_GP_OperateSuccess *)pData; //效验数据 ASSERT(wDataSize>=(sizeof(CMD_GP_OperateSuccess)-sizeof(pOperateSuccess->szDescribeString))); if (wDataSize<(sizeof(CMD_GP_OperateSuccess)-sizeof(pOperateSuccess->szDescribeString))) return false; //关闭连接 CMissionManager * pMissionManager=GetMissionManager(); if (pMissionManager!=NULL) pMissionManager->ConcludeMissionItem(this,false); //设置信息 CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance(); tagGlobalUserData * pGlobalUserData=pGlobalUserInfo->GetGlobalUserData(); lstrcpyn(pGlobalUserData->szUnderWrite,m_szUnderWrite,CountArray(pGlobalUserData->szUnderWrite)); //设置控件 CloseUnderWrite(); //发送事件 CPlatformEvent * pPlatformEvent=CPlatformEvent::GetInstance(); if (pPlatformEvent!=NULL) pPlatformEvent->SendPlatformEvent(EVENT_USER_INFO_UPDATE,0L); //显示消息 if (pOperateSuccess->szDescribeString[0]!=0) { CInformation Information(m_pParentWnd); Information.ShowMessageBox(pOperateSuccess->szDescribeString,MB_ICONINFORMATION,60); } return true; } } } //错误断言 ASSERT(FALSE); return true; }
//连接事件 bool CDlgCustomFace::OnEventMissionLink(INT nErrorCode) { //错误判断 if (nErrorCode==0L) { //变量定义 CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance(); tagGlobalUserData * pGlobalUserData=pGlobalUserInfo->GetGlobalUserData(); //发送消息 switch (m_cbMode) { case MM_SYSTEM: //系统模式 { //变量定义 CMD_GP_SystemFaceInfo SystemFaceInfo; ZeroMemory(&SystemFaceInfo,sizeof(SystemFaceInfo)); //设置变量 SystemFaceInfo.wFaceID=m_wFaceID; SystemFaceInfo.dwUserID=pGlobalUserData->dwUserID; CWHService::GetMachineIDEx(SystemFaceInfo.szMachineID); CopyMemory(SystemFaceInfo.szPassword,pGlobalUserData->szPassword,sizeof(SystemFaceInfo.szPassword)); //发送数据 CMissionManager * pMissionManager=GetMissionManager(); pMissionManager->SendData(MDM_GP_USER_SERVICE,SUB_GP_SYSTEM_FACE_INFO,&SystemFaceInfo,sizeof(SystemFaceInfo)); break; } case MM_CUSTOM: //自定模式 { //变量定义 CMD_GP_CustomFaceInfo CustomFaceInfo; ZeroMemory(&CustomFaceInfo,sizeof(CustomFaceInfo)); //设置变量 CustomFaceInfo.dwUserID=pGlobalUserData->dwUserID; CWHService::GetMachineIDEx(CustomFaceInfo.szMachineID); CopyMemory(CustomFaceInfo.szPassword,pGlobalUserData->szPassword,sizeof(CustomFaceInfo.szPassword)); CopyMemory(CustomFaceInfo.dwCustomFace,m_CustomFaceInfo.dwCustomFace,sizeof(CustomFaceInfo.dwCustomFace)); //发送数据 CMissionManager * pMissionManager=GetMissionManager(); pMissionManager->SendData(MDM_GP_USER_SERVICE,SUB_GP_CUSTOM_FACE_INFO,&CustomFaceInfo,sizeof(CustomFaceInfo)); break; } } return true; } else { //显示控件 EnableControl(true); //显示提示 CInformation Information(this); Information.ShowMessageBox(TEXT("无法连接服务器,头像修改失败,请检查网络是否畅通!"),MB_ICONERROR); } return true; }