UiConnectInfo.h
Upload User: dzyhzl
Upload Date: 2019-04-29
Package Size: 56270k
Code Size: 3k
Development Platform:

C/C++

  1. /*****************************************************************************************
  2. // 界面--login过程信息窗口
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-12-16
  6. ------------------------------------------------------------------------------------------
  7. *****************************************************************************************/
  8. #pragma once
  9. #include "../Elem/WndImage.h"
  10. #include "../Elem/WndButton.h"
  11. #include "../Elem/WndEdit.h"
  12. #include "../../Login/Login.h"
  13. enum LOGIN_BG_INFO_MSG_INDEX
  14. {
  15. CI_MI_CONNECTING = 1, //1=连接中
  16. CI_MI_CONNECT_FAILED, //2=连接失败
  17. CI_MI_CONNECT_SERV_BUSY, //3=服务器忙
  18. CI_MI_CONNECT_TIMEOUT, //4=连接超时未获得响应
  19. CI_MI_ACCOUNT_PWD_ERROR, //5=账号/密码错误
  20. CI_MI_ACCOUNT_LOCKED, //6=账号被锁定
  21. CI_MI_ERROR_ROLE_NAME, //7=新建角色的名字不合法
  22. CI_MI_CREATING_ROLE, //8=正在新建角色
  23. CI_MI_DELETING_ROLE, //9=正在删除角色
  24. CI_MI_GETTING_ROLE_DATA, //10=取角色数据中
  25. CI_MI_ENTERING_GAME, //11=进入游戏中
  26. CI_MI_SVRDOWN, //12=游戏服务器已满或正在维护中
  27. CI_MI_TO_DEL_ROLE, //13=要删除角色
  28.     CI_MI_INVALID_PROTOCOLVERSION,  //14=版本号较旧,需要升级到新的客户端
  29. CI_MI_ERROR_LOGIN_INPUT, //15=登陆界面输入的账号密码有误,请重新输入
  30. CI_MI_ERROR_CONFIRM_INPUT, //16=删除角色时,输入的密码有误,请重新输入
  31. CI_MI_INVALID_LOGIN_INPUT1, //17=姓名中不可以包含空格、制表格等字符!
  32. CI_MI_INVALID_LOGIN_INPUT2, //18=姓名长度必须在2到8个汉字以内,允许输入英文字符,请重新输入姓名!
  33. CI_MI_NOT_ENOUGH_ACCOUNT_POINT, //19=点卡不足
  34. CI_MI_INVALID_PASSWORD, //20=输入的密码不正确。
  35. CI_MI_ACCOUNT_FREEZE = 30, //30=账号冻结
  36. };
  37. enum LOGIN_BG_NEXT_STEP
  38. {
  39. CI_NS_INIT_WND = 1000, //转到开始界面
  40. CI_NS_SEL_SERVER, //转到选服务器界面
  41. CI_NS_LOGIN_WND, //转到登陆界面
  42. CI_NS_SEL_ROLE_WND, //转到新建角色界面
  43. CI_NS_NEW_ROLE_WND, //转到新建角色界面
  44. CI_NS_CONFIRM_DEL_ROLE, //转到确认删除角色界面
  45. CI_NS_EXIT_PROGRAM, //退出程序
  46. };
  47. class KUiConnectInfo : protected KWndImage
  48. {
  49. public:
  50. //eDesireLoginStatus为没举LOGIN_LOGIC_STATUS或LOGIN_BG_NEXT_STEP的值之一
  51. static KUiConnectInfo* OpenWindow(LOGIN_BG_INFO_MSG_INDEX eIndex,
  52. int eDesireLoginStatus,
  53. int nParam = 0); //打开窗口,返回唯一的一个类对象实例
  54. static void CloseWindow(bool bDestroy); //关闭窗口
  55. private:
  56. KUiConnectInfo();
  57. ~KUiConnectInfo() {}
  58. void Initialize(); //初始化
  59. void LoadScheme(const char* pScheme); //载入界面方案
  60. int WndProc(unsigned int uMsg, unsigned int uParam, int nParam); //窗口函数
  61. void PaintWindow();
  62. void SetInfoMsg(LOGIN_BG_INFO_MSG_INDEX eIndex);
  63. void Breathe(); //活动函数
  64. bool OnDelRole();
  65. void OnCancelDelRole();
  66. void OnClickConfirmBtn();
  67. void GotoNextStep();
  68. private:
  69. static  KUiConnectInfo* m_pSelf;
  70. private:
  71. KWndImage m_DelRoleBgImg;
  72. KWndButton m_ConfirmBtn;
  73. KWndButton m_DelRoleBtn;
  74. KWndButton m_CancelDelRoleBtn;
  75. KWndEdit32 m_InputPwdWnd;
  76. int m_nDesireLoginStatus;
  77. char m_szMessage[64];
  78. int m_nMsgLen;
  79. int m_nFont;
  80. int m_nColor2CharacterStartIndex;
  81. int m_nColor2CharacterEndIndex;
  82. int m_nTextCentreX, m_nTextCentreY;
  83. unsigned int m_uMsgColor;
  84. unsigned int m_uMsgBorderColor;
  85. unsigned int m_uMsgColor2;
  86. unsigned int m_uMsgBorderColor2;
  87. unsigned int m_uMsgColorChangeInterval;
  88. unsigned int m_uLastMsgColorChanageTime;
  89. char m_szLoginBg[32];
  90. int m_nParam;
  91. };