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

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面--屏幕顶控制操作条
  3. // Copyright : Kingsoft 2003
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2003-4-22
  6. *****************************************************************************************/
  7. #include "KWin32.h"
  8. #include "KIniFile.h"
  9. #include "../elem/wnds.h"
  10. #include "../Elem/WndMessage.h"
  11. #include "../UiBase.h"
  12. #include "UiHeaderControlBar.h"
  13. #include "UiChatCentre.h"
  14. #include "../ShortcutKey.h"
  15. #include "../../../core/src/coreshell.h"
  16. extern iCoreShell* g_pCoreShell;
  17. #define SCHEME_INI "顶部控制条.ini"
  18. KUiHeaderControlBar* KUiHeaderControlBar::m_pSelf = NULL;
  19. //--------------------------------------------------------------------------
  20. // 功能:打开窗口,返回唯一的一个类对象实例
  21. //--------------------------------------------------------------------------
  22. KUiHeaderControlBar* KUiHeaderControlBar::OpenWindow()
  23. {
  24. if (m_pSelf == NULL)
  25. {
  26. m_pSelf = new KUiHeaderControlBar;
  27. if (m_pSelf)
  28. m_pSelf->Initialize();
  29. }
  30. if (m_pSelf)
  31. m_pSelf->Show();
  32. return m_pSelf;
  33. }
  34. //--------------------------------------------------------------------------
  35. // 功能:关闭窗口
  36. //--------------------------------------------------------------------------
  37. void KUiHeaderControlBar::CloseWindow()
  38. {
  39. if (m_pSelf)
  40. {
  41. m_pSelf->Destroy();
  42. m_pSelf = NULL;
  43. }
  44. }
  45. //初始化
  46. void KUiHeaderControlBar::Initialize()
  47. {
  48. char Scheme[256];
  49. g_UiBase.GetCurSchemePath(Scheme, 256);
  50. LoadScheme(Scheme);
  51. m_Style &= ~WND_S_VISIBLE;
  52. Wnd_AddWindow(this, WL_TOPMOST);
  53. }
  54. //载入界面方案
  55. void KUiHeaderControlBar::LoadScheme(const char* pScheme)
  56. {
  57. char Buff[128];
  58. KIniFile Ini;
  59. if (m_pSelf)
  60. {
  61. sprintf(Buff, "%s\"SCHEME_INI, pScheme);
  62. if (Ini.Load(Buff))
  63. {
  64. m_pSelf->Init(&Ini, "Main");
  65. }
  66. }
  67. }
  68. //重新初始化界面
  69. void KUiHeaderControlBar::DefaultScheme(const char* pScheme)
  70. {
  71. char Buff[128];
  72. KIniFile Ini;
  73. if (m_pSelf)
  74. {
  75. sprintf(Buff, "%s\"SCHEME_INI, pScheme);
  76. if (Ini.Load(Buff))
  77. {
  78. int nValue1, nValue2;
  79. Ini.GetInteger("Main", "Left",  0, &nValue1);
  80. Ini.GetInteger("Main", "Top",   0, &nValue2);
  81. m_pSelf->SetPosition(nValue1, nValue2);
  82. }
  83. }
  84. }
  85. void KUiHeaderControlBar::Breathe()
  86. {
  87. UpdateData();
  88. }