UiFastInputMsg.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面--快速输入消息界面
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-12-11
  6. ------------------------------------------------------------------------------------------
  7. *****************************************************************************************/
  8. #pragma once
  9. #include "../Elem/WndButton.h"
  10. #include "../Elem/WndEdit.h"
  11. #include "../Elem/PopupMenu.h"
  12. #include "../../../Represent/iRepresent/KRepresentUnit.h"
  13. #include "../../../Core/src/GameDataDef.h"
  14. class KUiFastInputMsg : protected KWndImage
  15. {
  16. public:
  17. //----界面面板统一的接口函数----
  18. static KUiFastInputMsg* OpenWindow(); //打开窗口,返回唯一的一个类对象实例
  19. static KUiFastInputMsg* GetIfVisible(); //如果窗口正被显示,则返回实例指针
  20. static void CloseWindow(bool bDestroy); //关闭窗口,同时可以选则是否删除对象实例
  21. static void LoadScheme(const char* pScheme);//载入界面方案
  22. static void Clear();
  23. static void UpdateCurrentChannel();
  24. private:
  25. KUiFastInputMsg();
  26. ~KUiFastInputMsg();
  27. void Show(); //显示窗口
  28. void Hide(); //隐藏窗口
  29. void OnSend();
  30. void Initialize(); //初始化
  31. int WndProc(unsigned int uMsg, unsigned int uParam, int nParam);//窗口函数
  32. void SwitchLockMode();
  33. void PaintWindow();
  34. void PopupChannelMenu();
  35. void PopupColorMenu();
  36. void CancelMenu();
  37. void SelectedColor(int x, int y);
  38. void LoadScheme(class KIniFile* pIni); //载入界面方案
  39. void InputRecentMsg(bool bPrior);
  40. private:
  41. static KUiFastInputMsg* m_pSelf;
  42. private:
  43. enum { UI_INPUT_MSG_MAX_COLOR = 12 };
  44. KWndButton m_ChannelBtn;
  45. KWndButton m_ColorBtn;
  46. KWndButton m_SendBtn;
  47. KWndEdit512 m_InputEdit;
  48. KWndText32 m_ChannelName;
  49. unsigned int m_ColorList[UI_INPUT_MSG_MAX_COLOR];
  50. KRColor m_CurColor;
  51. bool m_bLocked;
  52. char m_cNumColor;
  53. char m_cPreMsgCounter;
  54. char m_cLatestMsgIndex;
  55. bool m_bChannelMenu;
  56. bool m_bColorMenu;
  57. #define MAX_RECENT_MSG_COUNT 8
  58. char m_RecentMsg[MAX_RECENT_MSG_COUNT][512];
  59. KPopupMenuData* m_pMenuData;
  60. KUiChatChannel* m_pChannelData;
  61. };