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

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面窗口体系结构--值控制换帧的显示图形的窗口
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-12-10
  6. *****************************************************************************************/
  7. #include "KWin32.h"
  8. #include "KIniFile.h"
  9. #include "WndValueImage.h"
  10. #include "../../../Represent/iRepresent/iRepresentShell.h"
  11. extern iRepresentShell* g_pRepresentShell;
  12. //--------------------------------------------------------------------------
  13. // 功能:构造函数
  14. //--------------------------------------------------------------------------
  15. KWndValueImage::KWndValueImage()
  16. {
  17. m_nCurrentValue = 0;
  18. m_nFullValue = 1;
  19. }
  20. void KWndValueImage::Clone(KWndValueImage* pCopy)
  21. {
  22. if (pCopy)
  23. {
  24. KWndImage::Clone(pCopy);
  25. pCopy->m_nFrameCount = m_nFrameCount;
  26. pCopy->m_nCurrentValue = m_nCurrentValue;
  27. pCopy->m_nFullValue = m_nFullValue;
  28. }
  29. }
  30. //--------------------------------------------------------------------------
  31. // 功能:初始化窗口
  32. //--------------------------------------------------------------------------
  33. int KWndValueImage::Init(KIniFile* pIniFile, const char* pSection)
  34. {
  35. if (KWndImage::Init(pIniFile, pSection))
  36. {
  37. KImageParam Param;
  38. if(g_pRepresentShell &&
  39. g_pRepresentShell->GetImageParam(m_Image.szImage, &Param, m_Image.nType))
  40. {
  41. m_Image.nNumFrames = Param.nNumFrames;
  42. m_Image.nInterval = Param.nInterval;
  43. SetValue(m_nCurrentValue, m_nFullValue);
  44. }
  45. return true;
  46. }
  47. return false;
  48. }
  49. void KWndValueImage::SetValue(int nCurrentValue, int nFullValue)
  50. {
  51. m_nFullValue = nFullValue ? nFullValue : 1;
  52. m_nCurrentValue = nCurrentValue;
  53. if (m_Image.nNumFrames > 1)
  54. {
  55. m_Image.nFrame = nCurrentValue * (m_Image.nNumFrames - 1)/ m_nFullValue;
  56. }
  57. else
  58. m_Image.nFrame = 0;
  59. }